可以使用任意一種你喜歡的作圖工具,製作一個有形狀的位圖,背景使用一種其他的顏色。這個顏色在編程中用得着,所以最好使用一種容易記憶的顏色。如黃色,文件名爲bk.bmp
2.創建窗體並設置屬性
1)將 FormBorderStyle 屬性設置爲 None。
2)將窗體的 BackgroundImage 屬性設置爲先前創建的位圖文件。不必將文件添加到項目系統中,這將在指定該文件作爲背景圖像時自動完成。
3)將 TransparencyKey 屬性設置爲位圖文件的背景色,如:黃色。(此屬性告訴應用程序窗體中的哪些部分需要設置爲透明。)
這時你就可以按F5測試你的程序,可以看到如圖所示的窗體。現在窗體還不能拖動,只能通過結束程序,或者alt+F4關閉。下面我們編寫相應的代碼來實現標題欄的相應功能。
3.編寫相關代碼(要實現窗口的關閉,移動等操作)
1)實現窗口關閉
從工具欄中拖進一個按鈕,設置其按鈕文字爲“×”,設置其大小爲合適大小。雙擊該按鈕進入其觸發事件函數。寫入如下代碼: this.Close(); //關閉本窗體
2)設置窗體的移動操作,我們要用到兩個全局的變量
private Point mouseOffset; //記錄鼠標指針的座標
private bool isMouseDown = false; //記錄鼠標按鍵是否按下
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e){
int xOffset;
int yOffset;
if (e.Button == MouseButtons.Left){
xOffset = -e.X - SystemInformation.FrameBorderSize.Width;
yOffset = -e.Y - SystemInformation.CaptionHeight -
SystemInformation.FrameBorderSize.Height;
mouseOffset = new Point(xOffset, yOffset);
isMouseDown = true;
}
}
private void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e){
if (isMouseDown){
Point mousePos = Control.MousePosition;
mousePos.Offset(mouseOffset.X, mouseOffset.Y);
Location = mousePos;
}
}
private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e){
// 修改鼠標狀態isMouseDown的值,確保只有鼠標左鍵按下並移動時,才移動窗體
if (e.Button == MouseButtons.Left){
isMouseDown = false;
}
}
3)加入相應的其他的控件
其他的就是看你自己的需要,來添加控件,實現自己想要實現的功能。本例中添加了一文本框,設置其背景爲黃色,所以顯示時也成了透明的。
現在,我們就可以生成程序,看一下最後的效果了。