Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加载表单时,选择某些单选按钮_C#_Forms_Radio Button_Onload - Fatal编程技术网

C# 加载表单时,选择某些单选按钮

C# 加载表单时,选择某些单选按钮,c#,forms,radio-button,onload,C#,Forms,Radio Button,Onload,我有两张表格。我想在加载另一个表单时检查单选按钮(该按钮位于第二个表单中)。我试过了 OnLoad(radioButton2.Checked) 但它没有起作用。有什么想法吗?你只需设置someRadioButton。选中为true 等待OnLoad没有意义 如果出于某种原因,您确实希望等待加载事件,则需要为该事件添加处理程序并将代码放入处理程序。您只需将someRadioButton.Checked设置为true 等待OnLoad没有意义 如果出于某种原因,您确实希望等待加载事件,则需要为该

我有两张表格。我想在加载另一个表单时检查单选按钮(该按钮位于第二个表单中)。我试过了

OnLoad(radioButton2.Checked) 

但它没有起作用。有什么想法吗?

你只需设置
someRadioButton。选中
true

等待
OnLoad
没有意义


如果出于某种原因,您确实希望等待
加载
事件,则需要为该事件添加处理程序并将代码放入处理程序。

您只需将
someRadioButton.Checked
设置为
true

等待
OnLoad
没有意义


如果出于某种原因,您确实希望等待加载事件,则需要为该事件添加一个处理程序,并将代码放入该处理程序。

如果我理解正确,您的一个表单上有一个单选按钮(我们将其称为
form1
,以便能够区分),并希望在加载另一个表单时对其进行更改(我在这里称之为
form2

您需要记住以下几点:

  • 您需要确保按钮可以从外部访问
    表单1
    。如果两个表单都是同一项目的一部分(我猜是这样),那么您需要确保按钮是
    受保护的内部
    内部
    公共
    中的一个
  • form1
    实际上是一个类;但屏幕上显示的表单不是
    form1
    类本身:它是该类的一个实例。您需要对该实例的引用
  • 要访问对象的成员,请使用
    (点)运算符。例如,如果
    form1
    的实例名为
    myForm1
    ,则需要键入
    myForm1.radioButton2
    以引用单选按钮。如果省略对象引用,则默认为当前对象(这是其代码正在执行的对象)。因此,当您为
    form1
    键入代码时,可以省略引用,但要从
    form2
    访问它,您需要它(否则,编译器会认为您正在尝试访问
    form2
    中名为“radioButton2”的内容,而该内容可能根本不存在)
  • 单选按钮选中的
    是一个属性(更具体地说,是一个
    bool
    属性):您可以获取或设置属性的值,但是引用属性而不使用它通常是毫无意义的,在大多数情况下甚至不会编译
  • 如果要执行代码以响应某个事件,则需要注册一个事件处理程序。事件处理程序只是一个函数,返回
    void
    ,并接受两个参数(一个
    对象
    和一个
    EventArgs
    或它的某个子类)。可以通过编程方式注册处理程序,但最好从设计器中注册。要创建和注册事件处理程序,请执行以下步骤: 5.1.在设计器上选择表单,然后转到“属性”窗口。 5.2.切换到事件视图(一个小的闪电图标) 5.3.找到要处理的事件。在本例中,
    OnLoad
    ,然后双击它。 5.4.瞧!设计器已经为您的新事件处理程序创建了一个方法存根,为事件注册了它,并将您发送到代码视图中,以便您可以填充它
  • 因此,假设您有对
    form1
    实例的引用(我将很快介绍),要标记单选按钮,您需要这样的语句:

    myForm1.radioButton2.Checked = true;
    
    radioButton2.Checked = true;
    // Code that shows your "form2" goes here.
    
    这将
    form1
    类的
    myForm1
    实例中包含的
    radioButton2
    控件的
    Checked
    属性设置为
    true
    ;这将有效地使单选按钮显示为选中状态

    现在,让我们来看一个有趣的部分:如何获取对表单的引用?这取决于您(或IDE,代表您)是如何创建表单的。 如果应用程序的启动形式是
    form1
    ,并且您坚持使用Visual Studio中的默认方式,那么请查看Studio为您的项目创建的
    程序
    类。那里应该有一个名为
    Main
    的函数。在某个时候,您会看到类似于此的行:

    Application.Run(new form1());
    
    newform1()
    部分创建一个
    form1
    的新实例,并将其传递给
    应用程序。Run()
    (现在不要太在意这个调用的作用,我们只对引用感兴趣).问题是引用是动态使用的,而不是保存的,但我们可以解决这个问题:在
    程序
    类的
    之外添加类似的内容:

    internal static form1 myForm1;
    
    然后用以下两行代码替换
    应用程序.Run()
    调用:

    myForm1 = new form1();
    Application.Run(myForm1);
    
    调用将做同样的事情,但是通过将其分解为两个步骤,我们可以将引用保存到静态字段
    myForm1
    。 现在,您可以在程序的任何位置使用
    program.myForm1
    引用该表单。因此,在
    form2
    中的OnLoad事件处理程序上,您只需执行以下操作:

    Program.myForm1.radioButton2.Checked = true;
    

    尽管如此,如果您正在从
    form1
    中“调用”您的
    form2
    ,那么您可以通过在将控件传递给辅助窗体之前选中按钮来节省一些繁琐的工作,如下所示:

    myForm1.radioButton2.Checked = true;
    
    radioButton2.Checked = true;
    // Code that shows your "form2" goes here.
    
    在这两种情况下,请记住用表单的实际名称替换
    form1
    form2


    希望这能有所帮助。

    如果我理解正确,您的一个表单上有一个单选按钮(我们将其称为
    form1
    ,以便我们能够区分它),并希望在加载另一个表单时对其进行更改(我在这里将其称为
    form2

    您需要记住以下几点:

  • 您需要确保按钮可以从外部访问
    form1
    。如果两个表单都是同一个项目的一部分(我猜是这样),那么您需要