0
        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 

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

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

4

2 回答 2

1

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

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

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

如果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;
}

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

于 2013-01-30T16:05:45.050 回答
0

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

public static class SharedData
{
    public static string SelectedRoom
    {
        set;
        get;
    }

    // other data

}
于 2013-01-30T15:57:31.893 回答