2011-08-05 36 views
0

我有兩個問題,我的窗戶在Visual Basic .NET 2008形成如果有便籤工作你會更好地瞭解我。如何使用Windows窗體實現這個?

enter image description here

現在我的問題:

  1. 如果你看看你會看到1號的背景顏色和2 不同勢,但都屬於同一控制。這怎麼可能?
  2. 在右下角,有一些通過它用戶可以調整窗體。 我該怎麼做?
+0

根據您的需要對一個文本框繪製更新的答案。 – LarsTech

回答

4

項目1:我認爲你指的是LinearGradient Brush--在System.Drawing.Drawing2D類中查找。

項目2:他們正在制定一個resize處理程序。您可以嘗試使用ControlPaint.DrawSizeGrip方法或繪製自己的。

更新:

根據您的意見,你可以看看Owner-drawing a Windows.Forms TextBox

+1

有了這個教程,你可以添加漸變背景到窗體代碼http://www.getdotnetcode.com/nexDotNet/030005H2GradientBg4WinFormVB/H2GradientBg4WinFormVB.htm – Maysam

+0

@Maysam謝謝,但我需要做的是用我的文字編輯控件不能形成! – undone

1

您可以通過重寫OnPaintBackground()繪製漸變背景:

protected override void OnPaintBackground(PaintEventArgs e) 
    { 
     // set these to whatever you want 
     Color color1 = Color.LightBlue; 
     Color color2 = Color.DarkBlue; 

     using (Brush backbrush = 
      new LinearGradientBrush(e.ClipRectangle, color1, color2, 
       LinearGradientMode.Vertical)) 
     { 
      e.Graphics.FillRectangle(backbrush, e.ClipRectangle); 
     } 

    } 

您可以通過設置顯示尺寸夾具窗體的SizeGripStyle以顯示:

SizeGripStyle = SizeGripStyle.Show; 

或者只是在設計器中設置它。

編輯:看this page用於創建文本框透明(如果文本框是透明的,漸變的形式背景將顯示出來。)

+0

謝謝但我需要做LinearGradientBrush與文本編輯控件不是窗體! 2 - 當我將FormBorderStyle設置爲None時,SizeGripStyle不起作用! – undone

+0

那你爲什麼不這麼說?請更清楚。您必須編寫或獲取支持自定義繪畫的文本框。試試這個:http://www.codeproject.com/KB/edit/alphablendtextbox.aspx?fid=15959&fr=11#xx0xx –

相關問題