如何从其他窗体访问按钮按下?C#

如何从其他窗体访问按钮按下?C#,c#,forms,button,editor,C#,Forms,Button,Editor,因此,我正在创建一个文本编辑器,我想在用户试图关闭应用程序时弹出一个窗口,询问他们是否确定要这样做,就像在Windows的记事本中一样。我没有使用MessageBox,而是使用自定义表单。我如何从他们在Form2中按下的按钮中获取信息,并在Form1中访问它 提前感谢您的回复。如果有任何其他信息我可以提供,这将是有用的,请让我知道 编辑我的意思:我创建了一个带有3个按钮的表单:保存、不保存和取消。我想知道他们按了什么。我能简单地返回按钮并从那里开始吗?您需要有一个属性来从辅助表单中提取信息。您仍

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

提前感谢您的回复。如果有任何其他信息我可以提供,这将是有用的,请让我知道


编辑我的意思:我创建了一个带有3个按钮的表单:保存、不保存和取消。我想知道他们按了什么。我能简单地返回按钮并从那里开始吗?

您需要有一个属性来从辅助表单中提取信息。您仍然需要使用ShowDialog(),然后可以检查对话框结果。这是从内存中生成的,因此代码可能不会生成,但应该会给您一个想法

在你的表格上

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();
}
在你的另一张表格上

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
    }
}

使用
ShowDialog()
并计算返回值请解释“从他们按下的按钮获取信息”的含义。你想得到什么信息?如果只需确定用户单击是或否就可以了,那么Puropoix的想法是正确的。