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

本文关键字:按钮 访问 其他 表单 | 更新日期: 2023-09-27 17:55:55

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

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

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

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

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

在您的表单2上

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();
}

在您的其他表单1上

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