C 怎麼設定子窗體在主窗體中居中顯示

2021-09-06 07:01:58 字數 936 閱讀 4257

c#怎麼設定子窗體在主窗體中居中顯示

問題的開始是由c#傳傳看主群裡的印醒提出來的,下面我來說一下解決方案吧

其實表面上看是很簡單的

開始吧,現在有兩個窗體form1主窗體,form2子窗體

而且我相信大部分人都會這樣寫

在子窗體的load事件中

這樣寫

this.startposition = formstartposition.centerparent;
其實這樣寫是不對的,正確的寫法應該是

this.startposition = formstartposition.centerscreen;
為什麼是centerscreen而不是centerparent呢?

那是因為我們呼叫的方法的問題,如果你在呼叫子窗體時是這樣寫的話

form2 f2 = new

form2();

f2.mdiparent = this

; f2.show();

那就得使用centerscreen而不是centerparent了,因為在show的時候窗體是owner頁不是parent

只要使用showdialog()方法時使用centerparent才有效

大家會說這樣就行了嗎?其實也不行,我們的**不應該寫在load事件中,而是在show方法之前寫。

正確的寫法應該是這樣的

C 怎麼設定子窗體在主窗體中居中顯示

c 怎麼設定子窗體在主窗體中居中顯示 c 怎麼設定子窗體在主窗體中居中 顯示問題的開始是由c 傳傳看主群裡的印醒提出來的,下面我來說一下解決方案吧 其實表面上看是很簡單的 開始吧,現在有兩個窗體form1主窗體,form2子窗體 而且我相信大部分人都會這樣寫 在子窗體的load事件中 這樣寫this...

C 中如何控制子窗體只在主窗體中顯示一次?

在c 中如何控制子窗體只在主窗體中顯示一次 有主要三步驟 第一步,在要顯示的子窗體中寫如下 pubulic static frmchild instance pubulic static frmchild instance get return instance 第二步,在主窗體中寫如下 frmch...

C 在Panel中嵌入子窗體

關閉嵌入的其他窗體 foreach control item in this.splitcontainer.panel2.controls 開啟新窗體 frmaddproduct newfrm new frmaddproduct form newfrm new form newfrm.topleve...