麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

用戶控件的設計要點System.Windows.Forms.UserControl

2019-11-14 16:20:27
字體:
來源:轉載
供稿:網友

用戶控件的設計要點

最近的項目中有一個瀑布圖(彩圖)的功能,就是把空間和時間上的點量值以圖的形式呈現出來,如下圖:

X坐標為空間,水平方向的一個像素代表一個空間單位(例如50米)

Y坐標為時間,垂直方向的一個像素代表一個時間單位(例如1秒)

由于沒有現成的彩圖控件可以使用,于是就自己嘗試的寫了一個用戶控件,這篇博客就是講述了如何編寫一個類似的用戶控件。

 

該用戶控件使用了自繪制的功能,其實要實現自繪制還是比較容易的,按以下的幾個步驟即可:

1,創建一個繼承自 System.Windows.Forms.UserControl 的類。右擊解決方案項目,選擇“添加” “用戶控件”,輸入控件名稱。

public partial class ColorControl : UserControl

2,設置控件 DoubleBuffered 為true,對控件進行雙緩存處理,減少繪制控件時的閃爍。

3,在構造函數里添加如下代碼:

設置 Control 類的 ResizeRedraw 為true,取消了在調整控件大小時的拖尾現象(之前繪制的內容沒有擦除)

        //        // 摘要:        //     獲取或設置一個值,該值指示控件在調整大小時是否重繪自己。        //        // 返回結果:        //     如果控件在調整大小時重繪自己,則為 true;否則為 false。        PRotected bool ResizeRedraw { get; set; }
        public ColorControl()        {            InitializeComponent();            ResizeRedraw = true;        }

4,重寫控件的 OnPaint 方法

        protected override void OnPaint(PaintEventArgs e)        {            base.OnPaint(e);            // 開始繪制自己的代碼即可            Draw(e.Graphics, this.ClientRectangle);        }        

具體的 Draw 方法如何寫就看項目對控件的需求了。下面是個簡單的Draw方法截圖:

 

當然在制作圖表控件還是有很多東西需要考慮的,最基本的繪制坐標系,繪制標題,繪制主內容區域,還要提供一些事件和方法供客戶類使用。這后面的東西可以參考開源的 ZedGraph。

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 18欧美性xxxx极品hd | 青草久久av | 国产99视频精品免视看9 | 国产91精品一区二区麻豆亚洲 | 69av导航| 日韩精品a在线观看 | 成人午夜在线免费观看 | 久久久久久久久久91 | 欧美色视| 中文字幕激情视频 | 92自拍视频 | 视频一区二区在线观看 | 久久免费视频3 | 欧美视频国产精品 | 国产精品久久久久国产精品三级 | 久久国产精品久久精品国产演员表 | 中国7777高潮网站 | 午夜精品毛片 | 国产成人av免费 | 中文国产在线视频 | 国产毛片毛片 | 免费观看视频在线观看 | 国产亚洲在线 | 国产精品1区2区在线观看 | 国产人妖一区二区 | 日本aaa一级片 | 黑人日比视频 | 久久av免费 | 销魂美女一区二区 | 午夜精品福利视频 | 亚洲国产超高清a毛毛片 | 九草网 | 免费国产人成网站 | 国产精品区一区二区三区 | 成人免费毛片片v | 视频一区国产 | 亚洲成a人在线 | 国产日本在线播放 | 99欧美精品 | 国产成人小视频在线观看 | 久久精品视频日本 |