PassingCheckBoxValuesBetweenUserControls我正在尝试将CheckBox值从UserControl3传递到UserControl3上的UserControl1publicvoidmaterialCheckBox1_CheckedChanged(objectsender,EventArgse){if(materialCheckBox1.Checked){Environment.Exit(0)}else{//Nothing}}如何给UserControl1加值?例如,单击UserControl1时的按钮将检查UserControl3上的复选框是否已选中。控件之间的通信有多种解决方案。您已经在BindingNavigator和Bindingsource等控件之间的交互中看到了此类功能,其中BindingNavigator具有类型为BindingSource的属性,并且每次单击导航按钮时BindingNavigator都会调用BindingSource方法。要自己实现它,例如在UserControl2上,您可以创建一个公共属性,公开您希望UserControl1能够检查的信息,然后在UserControl1上,您应该拥有一个UserControl2类型的属性。这样,当您在设计时或运行时将UserControl2的实例分配给属性时,您可以使用公开的信息。例如,按照以下步骤操作:1)在UserControl2中,将需要使用的信息暴露在控件外部。publicboolCheckBoxValue{get{返回checkBox1.Checked;}设置{checkBox1.Checked=value;}}2)在UserControl1中,创建一个UserControl2类型的属性。因此,您可以使用分配给它的实例并查找CheckBoxValue属性的值。公共UserControl2UserControl2Instance{得到;放;}privatevoidbutton1_Click(objectsender,EventArgse){if(UserControl2Instance!=null){if(UserControl2Instance.CheckBoxValue)MessageBox.Show("Checked");elseMessageBox.Show("未勾选");}}3)在窗体上删除UserControl1和UserControl2并使用设计器(或在运行时)将UserControl2的实例分配给UserControl2Instance属性。然后,当您运行程序并单击UserControl1Button1时,您可以看到位于UserControl2上的checkBox1的值。与代表一起工作!要了解更多信息,请点击这里!有关详细信息,请查看此msdn文章。以上就是C#学习教程:在UserControls之间传递CheckBox值分享所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
