c#中怎么获取另一个窗体的checkbox状态?

使用此方法无法获取当前form2中checkbox的状态privatevoidbutton1_Click(objectsender,EventArgse){Form2fr... 使用此方法无法获取当前form2中checkbox的状态
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
MessageBox.Show(frm.checkBox1.CheckState.ToString());
}
展开
 我来答
wuzhengyinyue
2010-10-04 · TA获得超过159个赞
知道答主
回答量:39
采纳率:0%
帮助的人:56.3万
展开全部

专门来帮你写一个:

From1里面的:

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        List<CheckBox> list = new List<CheckBox>(); 

        private void Form1_Load(object sender, EventArgs e)

        {

            foreach(Control cb in this.Controls)

            {

                if (cb is CheckBox)

                {

                    list.Add(cb as CheckBox);

                }

            }

            

        }

        private void button1_Click(object sender, EventArgs e)

        {

            Form2 frm2 = new Form2(list);

            frm2.Show();

        }

    }

}

From2里面的:

namespace WindowsFormsApplication1

{

    public partial class Form2 : Form

    {

        public Form2(List<CheckBox> lcb)

        {

            listCheckBox = lcb;

            InitializeComponent();

        }

        List<CheckBox> listCheckBox = null;

        private void Form2_Load(object sender, EventArgs e)

        {

            foreach (CheckBox cb in listCheckBox)

            {

                //Unchecked 就是没被选中 和false一个意思

                this.textBox1.Text += cb.Name + ":" + cb.Checked + ";" + cb.CheckState + "\r\n";

            }

        }

    }

你可以不停的点击Form1里面的button1看Form2的textBox1里面值的变化

innorence
2010-10-04 · TA获得超过3853个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:277万
展开全部
首先把Form2里的checkBox1的modified属性需要设置为public
这样才能在Form1里访问Form2
并且代码需要添加一句话
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Owner = this;//添加这句话很重要,Form.Owner 属性获取或设置拥有此窗体的窗体
MessageBox.Show(frm.checkBox1.CheckState.ToString());
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
he461574520
2015-12-15 · 超过25用户采纳过TA的回答
知道答主
回答量:77
采纳率:100%
帮助的人:42.9万
展开全部
checkbox有自己的属性,比如if (checkbox.CheckState == CheckState.Checked) 这样可以判断是不是被选中,更简便的就是if (checkbox.Checked) 直接判断;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fox000002
2010-10-04 · TA获得超过3827个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1184万
展开全部
new 的话就是一个新的窗体

与当前的 form2 不一样吧

把当前 form2 的变量传进去才行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gaoshang212
2010-10-04 · TA获得超过171个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:197万
展开全部
取 checkBox1.Checked 这个属性
可以取出一个false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式