所以我正在创建一个文本编辑器,当用户试图关闭应用程序时,我想要一个弹出窗口,询问他们是否确定要这样做,就像在Windows的记事本中一样。我没有使用MessageBoxes,而是使用自定义表单。如何从Form2中按下的Button获取信息并在Form1中访问它?
提前感谢您的回复。如果我能提供任何其他有用的信息,请告诉我们!
根据我的意思编辑:我创建了一个包含3个按钮的表单:保存,不保存和取消。我想知道他们按下了什么。我会简单地返回按钮并从那里开始吗?
答案 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
}
}