' Form1中'和' form2'在mdi开放。当我按下' form1'它应该调用evevt或' form2'的方法,例如喜欢'复选框'选中,刷新网格 因为我有form2(子形式)的代码:
public partial class Form2: Form
{
private Form1 Form1_Obj1;
public Form2(Form1 Form1_Obj2)
{
InitializeComponent();
Form1_Obj1 = Form1_Obj2;
}
public Form2()
{
InitializeComponent();
}
从form1调用事件我有代码
Form2 obj=new Form2(this);
obj1.chkSortPlace.Checked = true;
or
obj1.chkSortPlace_CheckedChanged(null, null);
问题是事件是调用但事件中的代码ieassign数据源到gridview不会发生。它不会给出错误但结果不是显示网格不刷新
答案 0 :(得分:2)
在c#.Net中调用某些其他形式的方法的一个技巧是使用Application.OpenForms
这里是一个示例代码
foreach (Form frm in Application.OpenForms)
{
if (frm is Form2)
{
//Put your code here.
}
}
答案 1 :(得分:0)
编辑:改变了答案,因为我误解了OP正在尝试做什么。
您无法操纵chkSortPlace
的原因是默认情况下,您添加到表单的所有控件都标记为private
。
转到Form1,右键单击它,选择"查看代码"并添加以下内容:
public bool SortPlaceChecked
{
get { return chkSortPlace.Checked; }
set { chkSortPlace.Checked = value; }
}
然后,当您想要从其他表单更改chkSortPlace
的状态时,只需使用您在上面添加的公共属性。