Отправьте значения от одной формы до другой формы

Язык определяет его этот путь.

Переменные экземпляра значения по умолчанию типа объекта к тому, чтобы быть инициализированным к пустому указателю. Локальные переменные типа объекта не инициализируются по умолчанию, и это - ошибка времени компиляции для доступа к неопределенной переменной.

раздел See 4.5.5 в здесь http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.12.5

73
задан John Saunders 14 March 2015 в 02:55
поделиться

3 ответа

Есть несколько решений этой проблемы, но я обычно использую именно этот шаблон.

// Form 1
// inside the button click event
using(Form2 form2 = new Form2()) 
{
    if(form2.ShowDialog() == DialogResult.OK) 
    {
        someControlOnForm1.Text = form2.TheValue;
    }
}

И ...

// Inside Form2
// Create a public property to serve the value
public string TheValue 
{
    get { return someTextBoxOnForm2.Text; }
}
48
ответ дан 24 November 2019 в 12:22
поделиться

объявить строку в форме1 общедоступная строка TextBoxString;

в form1 событие щелчка добавить

private void button1_Click(object sender, EventArgs e)
    {
        Form1 newform = new Form1();
        newform = this;
        this.Hide();
        MySecform = new Form2(ref newform);
        MySecform.Show();
    }

в form2 constructer

public Form2(ref Form1 form1handel)
    {
        firstformRef = form1handel;
        InitializeComponent();
    }

в form2 переменная контейнера Form1 firstformRef;

private void Submitt_Click(object sender, EventArgs e)
    {
        firstformRef.TextBoxString = textBox1.Text;
        this.Close();
        firstformRef.Show();

    }
2
ответ дан 24 November 2019 в 12:22
поделиться

Я работал над различными проектами winform, и по мере того, как приложения становились все более сложными (больше диалогов и взаимодействий между ними), я начал использовать некоторую систему событий, чтобы помочь мне, потому что управление открывать и закрывать окна вручную будет сложно поддерживать и развивать дальше.

Я использовал CAB для своих приложений, у него есть система событий , но в вашем случае это может быть излишним :) Вы можете написать свои собственные события для более простых приложений

3
ответ дан 24 November 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: