单选按钮从另一个返回 false class

Radio button returning false from another class

大家新年快乐!

我在将布尔值从表单发送到 class 时遇到问题,其中通过代码更改表单。

所以我有一个单选按钮 (rb2),单击它会启动一个线程。但是,我需要的是 return true 或 false 的 radioButton class.

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();
       }
    }
} 

下面是 class 需要从机场 class 获取 true 或 false 的值。但是当我打印出来 (r) 时,它总是打印出 false。我已经尝试了一些东西,但它们还没有奏效。

class Hubs
{
    public void Start2
    {
        Airport ap = new Airport();
        RadioButton r = ap.rb2;
        Console.WriteLine(r);

        if(r.Checked == true)
        {
            Console.WriteLine("Check r");
        }

    }
}

任何人有任何想法可能会导致新的 radioButton 在我的新 class 中不断打印 false 吗?

考虑在您的方法中添加一个参数,该参数接收一个机场实例 class:

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);
        }
    }
}