我正在使用主表单和编辑表单,我想使用主表单中的编辑表单文本框,我该怎么办?
修改
无法使用用户控件。
答案 0 :(得分:2)
最简单的方法是创建公开文本字段的属性。请调用您的编辑表单,然后再阅读这些属性。
public class MainForm
{
private void OnEditClick()
{
EditForm editForm = new EditForm();
DialogResult result = editForm.ShowDialog(this);
//check the result for ok/cancel etc if your using them.
whatever = editForm.TextBox1;
whatever2 = editForm.TextBox2;
}
public class EditForm
{
public string TextBox1 { get { return textBox1.Text;} }
public string TextBox2 { get { return textBox2.Text;} }
// etc
}
您可以公开整个控件,但如果您关心的只是文本框的内容,那么创建属性以便仅显示这些内容更加清晰。
答案 1 :(得分:0)
它必须是活的吗?如果没有,请在编辑表单上添加一个属性并存储该值(就像检索.Filename时的OpenFileDialog一样)。关闭后,取回房产并将其放在主表格中。
如果它确实需要生效,您可能需要使用事件(在Silverlight中实现接近INotifyPropertyChanged的内容),然后将mainform附加到编辑表单的事件并根据需要更新控件(记住检查InvokeRequired!)