【发布时间】:2019-02-26 15:04:30
【问题描述】:
我是 Windows 从设计和使用 Visual Studio 2017 版的新手。我在 mainFrom 中有两个单选按钮。我在主窗体中为两个单选按钮提供了单选按钮 Check_changed 事件处理程序,如下所示。
private void radioButtonSystem_CheckedChanged(object sender, EventArgs e)
{
if (radioButtonSystem.Checked == true)
{
Address = 192;
ToAddress = 150;
}
}
默认情况下,我在设计时将属性中的两个单选按钮都设置为 false。
我有一个串行端口类,我从硬件接收数据,根据传入的数据,我必须将其中一个单选按钮设置为 true。主窗口类拥有串口类的实例
我想知道如何访问单选按钮并将状态从串行类更改为 true??
提前谢谢你。
已编辑:
我已经尝试过这样但我仍然没有看到单选按钮被选中。有人可以建议我我在做什么可能是错的。 我在这样的串行类中有代码。
void comPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//retrieve number of bytes in the buffer
int bytes = configcomPort.BytesToRead;
//create a byte array to hold the awaiting data
byte[] comBuffer = new byte[bytes];
//read the data and store it
configcomPort.Read(comBuffer, 0, bytes);
if(comBuffer[0] == 6 && comBuffer.Length > 5)
{
Software.FrmMain frmMain = new Software.FrmMain();
if (comBuffer[3] == 100) frmMain.radioButtonSystem.Checked = true;
}
}
它在 mainfrom 中引发 RadioButton_checkChanged 事件,但它没有显示,因为它被设置为 true 并在应用程序中被选中。它显示如下
它应该显示为系统一设置为 true 并被选中,但我没有看到。
【问题讨论】:
-
喜欢
radioButtonSystem.Checked = true? -
决定。您是否有关于 WPF 或 WinForms 的问题(编辑您的问题并删除错误的标签)?它不能/不应该两者都有关,因为这两个 UI 框架彼此之间有很大的不同......
-
主窗口类是否拥有串口类的实例?如果没有,谁会?就好像你在问“我怎么从我家到加油站”,但我们不知道其中任何一个的街道地址;也许你住在威斯康星州的希博伊根,而你心目中的加油站就在劳德代尔堡。 (编辑:希博伊根不在密歇根)
-
@EdPlunkett 是的,主窗口类拥有串口类的实例。
-
我会给串行端口类一个或多个事件,当传入的数据以重要的方式发生变化时它会引发这些事件。然后主窗口会将处理程序附加到这些事件,并相应地设置自己的复选框。如果您没有编写串口类,请将其子类化。