我想在用户控件MenuSelect中通过checkbox设置用户控件DefaultMenuView 的button是否可见,代码如下 public partial class MenuSelect public MenuSelect()
{
InitializeComponent();
} DefaultMenuView DefaultMenuView = new DefaultMenuView();
private void btnSure_Click(object sender, EventArgs e)
{ if (this.checkBox1.Checked)
{
DefaultMenuView.btnqueryview.Visible = true;
}
else
{
DefaultMenuView.btnqueryview.Visible = false;
} }请大家看看我的代码,为什么我点击确定btnSure却没有反应呢???
{
InitializeComponent();
} DefaultMenuView DefaultMenuView = new DefaultMenuView();
private void btnSure_Click(object sender, EventArgs e)
{ if (this.checkBox1.Checked)
{
DefaultMenuView.btnqueryview.Visible = true;
}
else
{
DefaultMenuView.btnqueryview.Visible = false;
} }请大家看看我的代码,为什么我点击确定btnSure却没有反应呢???
解决方案 »
- 如何让窗口上的按钮被点击以后不保留焦点?
- 请问哪里有XeonCode下载
- vs常常会自动对aspx源代码进行修改,如何不让他修改?
- 如何调用不确定窗体,还请指教,非常感谢!祝您圣诞快乐!
- 我想当按下FORM右上角关闭按扭的时候,FORM实际操作是把VISIBLE=FALSE,应该怎么写呀?
- 100分求助,如何将DataGrid中的数据导入到Word的表格中?
- 用IBatis+C#怎么实现对数据的增、删、改、查.
- windows 窗体控件编程学习经验(c#)
- 急:用Asp.net导出为Excel时,自动定向到Login.aspx!
- 为什么手动创建的DataGrid无法取得item集合?
- C#定时执行问题
- .net设置下拉列表框选中问题
if (this.checkBox1.Checked)
{
button.Visible = true;//button是你想是否可见的
}
else
{
button.Visible = false;
}
2.试试
private void btnSure_Click(object sender, EventArgs e)
{ DefaultMenuView.btnqueryview.Visible = false; if (this.checkBox1.Checked)
{
DefaultMenuView.btnqueryview.Visible = true;
}
else
{
DefaultMenuView.btnqueryview.Visible = false;
} }
不好意思,我忘记说了btnqueryview就是button的name....
public partial class MenuSelect
{
private DefaultMenuView defaultMenuView = null;
public DefaultMenuView defaultMenuView { set{ _defaultMenuView = value;} } ....
private void btnSure_Click(object sender, EventArgs e)
{ if (this.checkBox1.Checked)
{
_defaultMenuView.btnqueryview.Visible = true;
}
else
{
_defaultMenuView.btnqueryview.Visible = false;
} }
.....
}
大哥,还在吗?怎么我一点确定就报错----NUllReferenceException
即:你需要声明MenuSelect的defaultMenuView属性指向你的那个defaultMenuView控件名。
大哥,说的详细点好吗?谢谢啊!!!我现在脑子都糊里糊涂的。。是在DefaultMenuView声明吗?
DefaultMenuView b = new DefaultMenuView();
MenuSelect a = new MenuSelect();
a.defaultMenuView = b;this.Controls.add(a); //例
this.Controls.add(b); //例
如果你的控件是直接摆到窗体上的。在Load过程中可直接:
a.defaultMenuView = b; //a: MenuSelect控件, a:控件名, b:DefaultMenuView控件, b:控件名;
我的DefaultMenuView代码是:namespace Client
{
public partial class DefaultMenuView : BaseView
{ public override void OnLoad()
{
DefaultMenuView DefaultMenuView = new DefaultMenuView();
MenuSelect MenuSelect = new MenuSelect();
MenuSelect.defaultMenuView = DefaultMenuView; this.Controls.Add(DefaultMenuView);
this.Controls.Add(MenuSelect);
}
public DefaultMenuView()
{
InitializeComponent();
this.title = "主菜单"; btnqueryview.Visible = true;
} private void btnqueryview_Click(object sender, EventArgs e)
{
parentForm.LoadView(typeof(DataQueryView));
} private void btninsert_Click(object sender, EventArgs e)
{
parentForm.LoadView(typeof(insert));
} private void btnExit_Click(object sender, EventArgs e)
{
if (DialogResult.Yes == MessageBox.Show("确定要注销吗?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
this.ParentForm.LoadView(typeof(entry));
}
} private void btnconfig_Click(object sender, EventArgs e)
{
this.ParentForm.LoadView(typeof(MenuSelect));
}
}
}
MenuSelect代码是:
public partial class MenuSelect : BaseView
{
private DefaultMenuView _defaultMenuView = null;
public DefaultMenuView defaultMenuView
{
set { _defaultMenuView = value; }
} public MenuSelect()
{
InitializeComponent();
} private void btnExit_Click(object sender, EventArgs e)
{
this.ParentForm.LoadView(typeof(DefaultMenuView));
} private void btnSure_Click(object sender, EventArgs e)
{ if (this.checkBox1.Checked)
{
_defaultMenuView.btnqueryview.Visible = true;
}
else
{
_defaultMenuView.btnqueryview.Visible = false;
} } }
button1--Modifiers: Public3。创建控件UserControl2:
checkBox1Code:
public partial class UserControl2 : UserControl
{
private UserControl1 _userControl1 = null;
public UserControl1 userControl1 { set { _userControl1 = value; } } public UserControl2()
{
InitializeComponent();
} private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
_userControl1.button1.Visible = (sender as CheckBox).Checked;
}
}
4。Form1:
public Form1()
{
InitializeComponent(); UserControl1 ctl1 = new UserControl1(); UserControl2 ctl2 = new UserControl2();
ctl2.userControl1 = ctl1; ctl2.Location = new Point(0, ctl1.Height); this.Controls.Add(ctl1);
this.Controls.Add(ctl2);
}