从另一个类返回 false 的单选按钮

本文关键字:单选按钮 false 返回 另一个 | 更新日期: 2023-09-27 18:36:04

大家新年快乐!

我在将布尔值从表单发送到一个类时遇到问题,该类通过表单更改的代码工作。

所以我有一个单选按钮 (rb2),单击它会启动一个线程。但是,我需要的是单选按钮将 true 或 false 返回给另一个类。

public class Airport : Form
{
    public RadioButon rb2;
    public void rb2_Checked(Object sender, EventArgs e)
    {
       if (rb2.Checked == true)
       {
           thread3 = new Thread(new ThreadStart(p2.Start2));
           thread3.Start();
       }
    }
} 

下面是需要从机场类中获取 true 和 false 值的类。但是当我打印出来(r)时,它总是打印出假的。我已经尝试了几件事,但到目前为止它们还没有奏效。

class Hubs
{
    public void Start2
    {
        Airport ap = new Airport();
        RadioButton r = ap.rb2;
        Console.WriteLine(r);
        if(r.Checked == true)
        {
            Console.WriteLine("Check r");
        }
    }
}

有人有任何想法可能导致新的单选按钮在我的新班级中不断打印错误吗?

从另一个类返回 false 的单选按钮

请考虑向方法添加一个参数,该参数接受 Airport 类的实例:

class Hubs
{
    public void Start2(object airport)
    {
        var ap = airport as Airport;
        if (ap == null) return;
        RadioButton r = ap.rb2;
        Console.WriteLine(r);
        if (r != null && r.Checked)
        {
            Console.WriteLine("Check r");
        }
    }
}

然后在调用 Airport 的实例(使用 this )传递给该方法:

public class Airport : Form
{
    public RadioButon rb2;
    public void rb2_Checked(Object sender, EventArgs e)
    {
        if (rb2 != null && rb2.Checked)
        {
            var x = new Hubs();
            var thread3 = new Thread(x.Start2);
            thread3.Start(this);
        }
    }
}