如何从另一个窗体调用下拉列表的值

本文关键字:下拉列表 调用 窗体 另一个 | 更新日期: 2023-09-27 17:56:53

        this.roomChoice.Title = " Select a classroom: ";
        this.roomChoice.Subtitle = "";
        if (frmRoomMaint.cbxRoomsChoice = null)
        {
            SetRoomOptions();
        }
        else
        {
            //cbxRooms is the dropdownlist on frmWizard
            cbxRooms = frmRoomMaint.cbxRoomsChoice;
            cbxRooms.Enabled=false;
        }

这是错误消息:

Error An object reference is required for the non-static field, method, or property 

我正在创建一个可以从菜单中调用的向导,或者在从下拉列表中选择房间后右键单击某个窗体。 如果从窗体中打开向导,我希望向导中的下拉列表已选中并禁用相同的房间。 如果从菜单中选择,用户可以自由选择下拉列表中的任何房间。

如果需要任何澄清,请告诉我。 谢谢!

如何从另一个窗体调用下拉列表的值

需要更多信息来回答这个问题。

代码示例中的哪一行导致错误?

错误发生在运行时还是设计时?

如果frmRoomMaint其他窗体的名称,则错误是说您必须在使用它之前创建它的实例。

frmRoomMaint form = new frmRoomMaint();
this.roomChoice.Title = " Select a classroom: ";
this.roomChoice.Subtitle = "";
if (form.cbxRoomsChoice = null)
{
   SetRoomOptions();
}
else
{
   //cbxRooms is the dropdownlist on frmWizard
   cbxRooms = form.cbxRoomsChoice;
   cbxRooms.Enabled=false;
}

我猜还有其他错误,但这可能是您的第一个错误 - 没有更多信息!

我建议您将共享数据存储在static类中,而不是以不同于另一种形式读取值,以便这些值在所有应用程序中可见。

public static class SharedData
{
    public static string SelectedRoom
    {
        set;
        get;
    }
    // other data
}