如何从其他表格访问按钮按下? C#

时间:2015-06-14 00:47:35

标签: c# forms button editor

所以我正在创建一个文本编辑器,当用户试图关闭应用程序时,我想要一个弹出窗口,询问他们是否确定要这样做,就像在Windows的记事本中一样。我没有使用MessageBoxes,而是使用自定义表单。如何从Form2中按下的Button获取信息并在Form1中访问它?

提前感谢您的回复。如果我能提供任何其他有用的信息,请告诉我们!

根据我的意思编辑:我创建了一个包含3个按钮的表单:保存,不保存和取消。我想知道他们按下了什么。我会简单地返回按钮并从那里开始吗?

1 个答案:

答案 0 :(得分:1)

您需要拥有一个属性才能从辅助表单中提取信息。您仍然希望使用ShowDialog(),然后您可以检查对话框结果。这是来自内存所以代码可能无法构建,但应该给你一个想法。

在你的Form2上

public string Text
{
    get { return this.SomeTextBoxOnTheForm.Text; }
    set { this.SomeTextBoxOnTheForm.Text = value; }
}

//called from your "Save" button.
public void Save()
{
    this.DialogResult = DialogResult.Ok;
    this.Close();
}

//called from either your "DontSave" button or your "Cancel" button.
public void Cancel()
{
    this.DialogResult = DialogResult.Cancel;
    this.Close();
}

在你的另一张Form1上

public void ShowForm2()
{
    var form = new Form2();

    //you could even set default text here
    form.Text = "Enter a message...";

    var result = form.ShowDialog();
    if( result == DialogResult.Ok )
    {
        var finalText = form.Text;

        //do something with the text
    }
}