谁能解释我在这个例子中选择 RadioButtons 时编译器如何知道执行适当的方法?
问问题
76 次
1 回答
1
很难确定你在问什么。我想你是在问系统如何知道它应该在iconType_CheckChanged
单击图标单选按钮之一时执行该方法,以及它是如何知道的,例如asteriskRadioButton
更改。
答案分为两部分。首先,在 Windows 窗体中创建程序时,您为每个单选按钮连接了 CheckChanged 事件处理程序。所以asteriskRadioButton
CheckChanged 方法包含 value iconType_CheckChanged
。该信息被添加到您通常看不到的部分类中。它位于方法中的 Form.Designer.cs 文件中InitializeComponent
。它看起来像:
this.asteriskRadioButton.CheckChanged += iconType_CheckChanged
您通常不会看到 Form.Designer.cs 文件。要查看它,请在 Visual Studio 解决方案资源管理器中展开表单节点,您将看到列出的文件:
答案的第二部分是,当您单击单选按钮时(或当某些代码更改单选按钮的状态时),底层控制机制调用iconType_CheckChanged
,并在参数中传递对触发事件的控件的引用Sender
。
于 2013-08-28T20:55:58.983 回答