因此,我使用瀏覽器在我的遊戲網站上的「新聞」頁面創建了一個表單。它有2個按鈕:「開始遊戲」和「關卡編輯器」。在發佈XNA遊戲前啓動表格
我目前使用DialogResult
檢查是否有任何這些按鈕被點擊 - 「開始遊戲」有DialogResult = Yes
和「級別編輯器」有DialogResult = No
。是的,這是一個醜陋的解決方案,但我不能讓它與Application.Run(newsForm);
一起工作,因爲我不知道如何檢查newsForm
類以外的按鈕點擊。
的Program.cs我XNA項目:
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
using (var newsForm = new NewsForm())
{
if (newsForm.ShowDialog() == DialogResult.Yes)
{
using (var game = new Game1())
{
game.Run();
}
newsForm.Dispose();
}
else if (newsForm.ShowDialog() == DialogResult.No)
{
using (var editor = new EditorForm())
{
Application.Run(editor);
newsForm.Dispose();
}
}
}
}
在我NewsForm
設計師,我的按鈕的DialogResult
屬性設置爲適當的值。但我有另一個問題:
當我點擊「開始遊戲」的XNA表單顯示正確,NewsForm
已關閉。但是當我點擊「級別編輯器」時,表單看起來像關閉然後重新打開......我必須再次單擊該按鈕才能啓動editor
表單。如果我點擊「開始遊戲」,它會關閉。我相信那是由DialogResult
造成的。
正如我前面所說,我做的方式是絕對不正確的設計,明智的,因爲:
- 這是一種形式,而不是一個對話框
- 的按鈕並不意味着什麼
DialogResult
或用戶希望他們的意思是
所以,如果你有任何想法,我怎麼能實現我上面的描述,有或(最好)不ShowDialog
,我會很感激。
完美的作品。 –