我有一个包含菜单和停靠面板的c#windows应用程序。如果单击菜单上的任何元素,则停靠面板上会显示一个表单
有一个包含搜索文本框的图书表单。
在菜单中有一个名称(保存)的项目用于保存布局以供其他用途,并且在保存布局后打开的表单仍然作为选项卡在停靠面板中打开
注意:用户可以多次打开相同的表单
我需要的是,当用户点击保存链接时,我需要从图书表单中获取搜索文本框的值,并将其设置为主窗体中的变量。
任何帮助?
答案 0 :(得分:0)
添加一个公共属性,作为搜索文本框Text
属性的包装器。
public string SearchString
{
get {
return searchTextbox.Text; // Where the searchTextbox is id of the textbox
}
}
然后可以在表单实例上引用它。
答案 1 :(得分:0)
在主窗体上添加一个函数来设置变量的值:
private void My_method(string value)
{
your_variable = value;
}
现在,在打开BookForm时,将主窗体作为参数传递给Book Form构造函数,如此
Main_Form _fd;
public BookForm(Main_form fd)
{
InitializeComponent();
_fd = fd;
}
现在您可以在此表单的任何位置调用Mainform函数,如: -
_fd.My_method(searchtextBox.text);
现在,用户无需一次又一次地打开和关闭表单!希望它会对你有所帮助!
答案 2 :(得分:0)
List<String> texts = new List<String>();
foreach(Form form in Application.OpenForms){
if (form.Name == "bookForm"){
TextBox textbox= form.Controls[<your textbox namr>] as TextBox;
texts.Add(textbox);
}
}
然后您可以使用此文本列表