C 中視窗應用程式介面拉伸改變介面中各個控制項的大小

2021-09-28 12:55:38 字數 1769 閱讀 5089

對於c#寫的視窗應用程式,會出現拉伸要放大的情況,但是拉伸之後 元件的大小以及位置都不會改變,這些有點難了

對於上述的問題,覺得有兩種解決辦法。

即固定住視窗應用程式的大小

在元件form的屬性中修改為  formborderstyle為none、fixed3d、fixeddialog或者fixedtoolwindow即可,這樣就可以固定住介面,不會被拉伸變換。

補充一下:formborderstyle各項含義如下:

fixed3d:固定的三維邊框。

fixeddialog:固定的對話方塊樣式的粗邊框。

fixedsingle:固定的單行邊框。

fixedtoolwindow:不可調整大小的工具視窗邊框。工具視窗不會顯示在工作列中也不會顯示在當使用者按 alt+tab 時出現的視窗中。儘管指定 fixedtoolwindow 的窗體通常不顯示在工作列中,還是必須確保 showintaskbar 屬性設定為 false,因為其預設值為 true。

none:無邊框。

sizable:可調整大小的邊框。

sizabletoolwindow:可調整大小的工具視窗邊框。工具視窗不會顯示在工作列中也不會顯示在當使用者按 alt+tab 時出現的視窗中。

首先要把元件form的屬性中修改為  formborderstyle為sizable或者sizabletoolwindow

**如下:

public form1()

private float x;//定義當前窗體的寬度

private float y;//定義當前窗體的高度

//拖動頁面操作

private void form1_resize(object sender, eventargs e)

private void settag(control cons)}}

//用來拉伸介面中的元件

private void setcontrols(float newx, float newy, control cons)

);//根據窗體縮放的比例確定控制項的值

con.width = convert.toint32(system.convert.tosingle(mytag[0]) * newx);//寬度

con.height = convert.toint32(system.convert.tosingle(mytag[1]) * newy);//高度

con.left = convert.toint32(system.convert.tosingle(mytag[2]) * newx);//左邊距

con.top = convert.toint32(system.convert.tosingle(mytag[3]) * newy);//頂邊距

single currentsize = system.convert.tosingle(mytag[4]) * newy;//字型大小

con.font = new font(con.font.name, currentsize, con.font.style, con.font.unit);

if (con.controls.count > 0)}}

}

如何改變MFC應用程式主視窗的類名

說明mfc自動建立的應用程式中,主視窗的類名是固定的。但在許多情況下,你可能希望自己擬定mfc的主視窗的類名。如果你想進行程序間通訊 ipc 這種技術就更顯得簡潔有效。最早的實現不同程序間通訊的方法是傳送訊息,但是傳送訊息需要知道傳送的目標物件,即確定目標視窗,識別出它的id。一種方法是迭代所有具有...

C 開發 簡單應用程式多視窗訊息傳遞

在目前一些桌面端.net系統的應用中,需要多個子系統視窗進行資訊交換,對於部署在同一臺電腦上的各個子系統,可以通過整合windows系統的訊息傳遞方式進行訊息傳遞,但是假如將各個子系統部署在不同的電腦上,這種實現方式就有一定的侷限性,要涉及到網路中的不同電腦進行通訊,net提供了可以建乙個小的htt...

在Silverlight應用程式中操作Cookie

很多朋友來信問如何在silverlight 2中操作cookie,這裡專門寫篇文章介紹一下。為了實現在silverlight應用程式中對於cookie的操作,我們需要借助於htmlpage.document物件。在使用htmlpage.document之前,請先新增system.windows.br...