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 に答える