我仍然在C#的學習階段,如果你認爲這是一個愚蠢的問題;-)打開一個新的窗口,但並不總是它的一個新實例
在該項目中,所以不要拍我我有主窗口,一個被稱爲「窗口1」
在主要的新窗口,我做的按鈕時,會去窗口1這樣的:現在
private void Button_Click(object sender, RoutedEventArgs e)
{
Window1 W1 = new Window1();
W1.Show();
this.Close();
}
,這正常工作,創建一個window1的新實例並在關閉主窗口時顯示它。
但是,這裏有一個問題:在window1中,一些東西可以改變,就像用戶點擊一個按鈕,然後當一個新按鈕顯示時該按鈕被隱藏。
而且我做了窗口1後退按鈕,使用上述同樣的代碼,回到主窗口(所以現在新的窗口1,但新的主窗口)
但在這一點上,我在主點擊,再按一次該按鈕以轉到window1,那個window1將回到默認狀態。這對我來說似乎合乎邏輯,因爲它在使用按鈕時會創建一個新實例。
但是我應該怎麼做,如果我想再次打開window1的第一個實例,那個已經被用戶更改過的實例?
首先我想將Window1 W1 = new Window1();
放在按鈕方法的外面,但是由於那個「後退」按鈕,這也不起作用。
我希望我解釋得很清楚我想做什麼。
有什麼想法嗎?
=====================
EDIT 1:
使用從 「chrfin」 某些部分genarate錯誤代碼示例中,像「可見=真」部分 也許這是因爲我使用快遞2010年,或者是因爲我使用WPF而不是表單?
主:
Window1 W1 = null; // Initialise Field.
private void CalcTabel_Click(object sender, RoutedEventArgs e)
{
if (W1 == null)
{
W1 = new Window1();
W1.MainWindow = this; //ERROR
W1.Show();
}
else
W1.Visibility = Visibility.Visible;
this.Visibility = Visibility.Hidden;
}
在窗口1
public MainWindow w1 { get; set; }
private void Quit_Click(object sender, RoutedEventArgs e)
{
w1.Visibility = Visibility.Visible;
this.Visibility = Visibility.Hidden;
}
現在我得到的主要部分的錯誤是: 「WpfApplication1.Window1」不包含'的定義MainWindow'接受類型'WpfApplication1.Window1'的第一個參數可以找到(你是否缺少using指令或程序集引用?)
just刪除該錯誤行,將導致get,set部分不會得到任何東西。
有什麼想法?
=====================
編輯1:
再次感謝名單 「chrfin」 得到它現在的工作:)
主:
Window1 W1 = null; // Initialise Field.
private void CalcTabel_Click(object sender, RoutedEventArgs e)
{
if (W1 == null)
{
W1 = new Window1();
W1.Hoofdmenu = this;
W1.Show();
}
else
W1.Visibility = Visibility.Visible;
this.Visibility = Visibility.Hidden;
}
在窗口1
:
public MainWindow Hoofdmenu { get; set; }
private void Quit_Click(object sender, RoutedEventArgs e)
{
Hoofdmenu.Visibility = Visibility.Visible;
this.Visibility = Visibility.Hidden;
}
- 解決 -
也許juste設置可見false? – 2012-01-12 08:52:38
我認爲你可以'隱藏'窗口窗體並在以後將它帶回 – V4Vendetta 2012-01-12 08:59:55
+1:在SO上,沒有這樣的事情是愚蠢的問題,只是嚴重問的問題。每個人都必須學習,只要他們努力使自己的問題清楚明白(你有) – 2012-01-12 11:22:08