<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C#窗體內(nèi)控件大小隨窗體等比例變化

      一、首先定義全局變量

      1 private float X;//當(dāng)前窗體的寬度
      2 private float Y;//當(dāng)前窗體的高度
      3 private bool IsFirst = true;

      二、定義一下兩個(gè)函數(shù)

       1 /// <summary>
       2 /// 將控件的寬,高,左邊距,頂邊距和字體大小暫存到tag屬性中
       3 /// </summary>
       4 /// <param name="cons">遞歸控件中的控件</param>
       5 private void setTag(Control cons)
       6 {
       7   foreach (Control con in cons.Controls)
       8   {
       9     con.Tag = con.Width + ":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
      10     if (con.Controls.Count > 0)
      11     setTag(con);
      12   }
      13 }
      14 //根據(jù)窗體大小調(diào)整控件大小
      15 private void setControls(float newx, float newy, Control cons)
      16 {
      17   //遍歷窗體中的控件,重新設(shè)置控件的值
      18   foreach (Control con in cons.Controls)
      19   {
      20 
      21     string[] mytag = con.Tag.ToString().Split(new char[] { ':' });//獲取控件的Tag屬性值,并分割后存儲(chǔ)字符串?dāng)?shù)組
      22     float a = System.Convert.ToSingle(mytag[0]) * newx;//根據(jù)窗體縮放比例確定控件的值,寬度
      23     con.Width = (int)a;//寬度
      24     a = System.Convert.ToSingle(mytag[1]) * newy;//高度
      25     con.Height = (int)(a);
      26     a = System.Convert.ToSingle(mytag[2]) * newx;//左邊距離
      27     con.Left = (int)(a);
      28     a = System.Convert.ToSingle(mytag[3]) * newy;//上邊緣距離
      29     con.Top = (int)(a);
      30     Single currentSize = System.Convert.ToSingle(mytag[4]) * newy;//字體大小
      31     con.Font = new Font(con.Font.Name, currentSize, con.Font.Style, con.Font.Unit);
      32     if (con.Controls.Count > 0)
      33     {
      34       setControls(newx, newy, con);
      35     }
      36   }
      37 }

      三、給窗體添加事件

      1 private void Form1_Load(object sender, EventArgs e)
      2 {
      3   X = this.Width;//獲取窗體的寬度
      4   Y = this.Height;//獲取窗體的高度
      5   setTag(this);//調(diào)用方法
      6 }

      這里需要注意一下,是否第一次運(yùn)行程序

      1 private void Form1_Resize(object sender, EventArgs e)
      2 {
         //如果是第一次運(yùn)行,需要把下面的if語(yǔ)句取消注釋?zhuān)駝t會(huì)沒(méi)反應(yīng),其以后再運(yùn)行或調(diào)試的時(shí)候,就把它注釋即可
      3   //if (IsFirst) { IsFirst = false; return; } 4   float newx = (this.Width) / X; //窗體寬度縮放比例 5   float newy = (this.Height) / Y;//窗體高度縮放比例 6   setControls(newx, newy, this);//隨窗體改變控件大小 7 }

      那么,一個(gè)簡(jiǎn)單的窗體改變大小,其里面的控件會(huì)根據(jù)其窗體等比例改變,就不會(huì)出現(xiàn)格式亂套的情況了。

       



       

      posted @ 2019-05-08 13:41  碼農(nóng)剛子  閱讀(4334)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 精品一区二区不卡无码AV| 国产精品午夜福利在线观看 | 野花社区视频www官网| 内射视频福利在线观看| 国产精品人成在线观看免费| 国产在线精品国偷产拍| 久章草在线毛片视频播放| 久久亚洲精品11p| 国产午夜福利免费入口| 欧美变态口味重另类在线视频| 自拍偷在线精品自拍偷免费| 亚洲日本欧美日韩中文字幕| 久久精品国产久精国产| 国产成人精品无码专区| 久久亚洲精品国产精品尤物| 国产美女久久久亚洲综合| 中文字幕在线视频不卡一区二区| 韩国美女福利视频一区二区| 日韩在线视频线观看一区| 最新亚洲人成网站在线影院 | 日日噜噜大屁股熟妇| 国产不卡av一区二区| 国产日韩成人内射视频| 成人一区二区三区激情视频| 狠狠做五月深爱婷婷天天综合 | 日韩在线视频一区二区三区| 国产美女久久精品香蕉| 久久婷婷五月综合97色直播| 亚洲乱人伦中文字幕无码| 日本久久久久亚洲中字幕| 久久一区二区中文字幕| 成都市| 亚洲国产美国产综合一区| 国产福利在线观看免费第一福利| 许昌市| 国产 麻豆 日韩 欧美 久久| 97精品亚成在人线免视频 | 一本一道av无码中文字幕麻豆| 日本边添边摸边做边爱| 天天做日日做天天添天天欢公交车 | 亚洲精品综合第一国产综合|