ComboBoxRenderer.DrawTextBox 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
繪製具有作業系統之目前視覺化樣式的文字方塊。
多載
DrawTextBox(Graphics, Rectangle, ComboBoxState) |
在指定的狀態和範圍中繪製文字方塊。 |
DrawTextBox(Graphics, Rectangle, String, Font, ComboBoxState) |
在指定的狀態和範圍中,使用指定的文字繪製文字方塊。 |
DrawTextBox(Graphics, Rectangle, String, Font, Rectangle, ComboBoxState) |
在指定的狀態和範圍中,使用指定的文字和文字範圍繪製文字方塊。 |
DrawTextBox(Graphics, Rectangle, String, Font, TextFormatFlags, ComboBoxState) |
在指定的狀態和範圍中,使用指定的文字和文字格式繪製文字方塊。 |
DrawTextBox(Graphics, Rectangle, String, Font, Rectangle, TextFormatFlags, ComboBoxState) |
在指定的狀態和範圍中,使用指定的文字、文字格式和文字範圍繪製文字方塊。 |
DrawTextBox(Graphics, Rectangle, ComboBoxState)
在指定的狀態和範圍中繪製文字方塊。
public:
static void DrawTextBox(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::Windows::Forms::VisualStyles::ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.VisualStyles.ComboBoxState state);
static member DrawTextBox : System.Drawing.Graphics * System.Drawing.Rectangle * System.Windows.Forms.VisualStyles.ComboBoxState -> unit
Public Shared Sub DrawTextBox (g As Graphics, bounds As Rectangle, state As ComboBoxState)
參數
- state
- ComboBoxState
其中一個 ComboBoxState 值,指定文字方塊的可見狀態。
例外狀況
備註
呼叫這個方法之前,您應該先 IsSupported 確認 屬性會傳 true
回 。
適用於
DrawTextBox(Graphics, Rectangle, String, Font, ComboBoxState)
在指定的狀態和範圍中,使用指定的文字繪製文字方塊。
public:
static void DrawTextBox(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ comboBoxText, System::Drawing::Font ^ font, System::Windows::Forms::VisualStyles::ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string comboBoxText, System.Drawing.Font font, System.Windows.Forms.VisualStyles.ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? comboBoxText, System.Drawing.Font? font, System.Windows.Forms.VisualStyles.ComboBoxState state);
static member DrawTextBox : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Windows.Forms.VisualStyles.ComboBoxState -> unit
Public Shared Sub DrawTextBox (g As Graphics, bounds As Rectangle, comboBoxText As String, font As Font, state As ComboBoxState)
參數
- state
- ComboBoxState
其中一個 ComboBoxState 值,指定文字方塊的可見狀態。
例外狀況
備註
呼叫這個方法之前,您應該先 IsSupported 確認 屬性會傳 true
回 。
適用於
DrawTextBox(Graphics, Rectangle, String, Font, Rectangle, ComboBoxState)
在指定的狀態和範圍中,使用指定的文字和文字範圍繪製文字方塊。
public:
static void DrawTextBox(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ comboBoxText, System::Drawing::Font ^ font, System::Drawing::Rectangle textBounds, System::Windows::Forms::VisualStyles::ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string comboBoxText, System.Drawing.Font font, System.Drawing.Rectangle textBounds, System.Windows.Forms.VisualStyles.ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? comboBoxText, System.Drawing.Font? font, System.Drawing.Rectangle textBounds, System.Windows.Forms.VisualStyles.ComboBoxState state);
static member DrawTextBox : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Drawing.Rectangle * System.Windows.Forms.VisualStyles.ComboBoxState -> unit
Public Shared Sub DrawTextBox (g As Graphics, bounds As Rectangle, comboBoxText As String, font As Font, textBounds As Rectangle, state As ComboBoxState)
參數
- state
- ComboBoxState
其中一個 ComboBoxState 值,指定文字方塊的可見狀態。
例外狀況
範例
下列程式碼範例會 DrawTextBox(Graphics, Rectangle, String, Font, ComboBoxState) 使用自訂控制項 OnPaint 方法中的 方法來繪製文字方塊。 此程式碼範例是針對 類別提供的較大範例的 ComboBoxRenderer 一部分。
// Draw the combo box in the current state.
protected:
virtual void OnPaint(PaintEventArgs^ e) override
{
Control::OnPaint(e);
if (!ComboBoxRenderer::IsSupported)
{
this->Parent->Text = "Visual Styles Disabled";
return;
}
this->Parent->Text = "CustomComboBox Enabled";
// Always draw the main text box and drop down arrow in their
// current states
ComboBoxRenderer::DrawTextBox(e->Graphics, topTextBoxRectangle,
this->Text, this->Font, textBoxState);
ComboBoxRenderer::DrawDropDownButton(e->Graphics, arrowRectangle,
arrowState);
// Only draw the bottom text box if the arrow has been clicked
if (isActivated)
{
ComboBoxRenderer::DrawTextBox(e->Graphics,
bottomTextBoxRectangle, bottomText, this->Font,
textBoxState);
}
}
protected:
virtual void OnMouseDown(MouseEventArgs^ e) override
{
Control::OnMouseDown(e);
// Check whether the user clicked the arrow.
if (arrowRectangle.Contains(e->Location) &&
ComboBoxRenderer::IsSupported)
{
// Draw the arrow in the pressed state.
arrowState = ComboBoxState::Pressed;
// The user has activated the combo box.
if (!isActivated)
{
this->Text = "Clicked!";
textBoxState = ComboBoxState::Pressed;
isActivated = true;
}
// The user has deactivated the combo box.
else
{
this->Text = "Click here";
textBoxState = ComboBoxState::Normal;
isActivated = false;
}
// Redraw the control.
Invalidate();
}
}
// Draw the combo box in the current state.
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (!ComboBoxRenderer.IsSupported)
{
this.Parent.Text = "Visual Styles Disabled";
return;
}
this.Parent.Text = "CustomComboBox Enabled";
// Always draw the main text box and drop down arrow in their
// current states
ComboBoxRenderer.DrawTextBox(e.Graphics, topTextBoxRectangle,
this.Text, this.Font, textBoxState);
ComboBoxRenderer.DrawDropDownButton(e.Graphics, arrowRectangle,
arrowState);
// Only draw the bottom text box if the arrow has been clicked
if (isActivated)
{
ComboBoxRenderer.DrawTextBox(e.Graphics,
bottomTextBoxRectangle, bottomText, this.Font,
textBoxState);
}
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
// Check whether the user clicked the arrow.
if (arrowRectangle.Contains(e.Location) &&
ComboBoxRenderer.IsSupported)
{
// Draw the arrow in the pressed state.
arrowState = ComboBoxState.Pressed;
// The user has activated the combo box.
if (!isActivated)
{
this.Text = "Clicked!";
textBoxState = ComboBoxState.Pressed;
isActivated = true;
}
// The user has deactivated the combo box.
else
{
this.Text = "Click here";
textBoxState = ComboBoxState.Normal;
isActivated = false;
}
// Redraw the control.
Invalidate();
}
}
' Draw the combo box in the current state.
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
If Not ComboBoxRenderer.IsSupported Then
Me.Parent.Text = "Visual Styles Disabled"
Return
End If
Me.Parent.Text = "CustomComboBox Enabled"
' Always draw the main text box and drop down arrow in their
' current states.
ComboBoxRenderer.DrawTextBox(e.Graphics, topTextBoxRectangle, _
Me.Text, Me.Font, textBoxState)
ComboBoxRenderer.DrawDropDownButton(e.Graphics, arrowRectangle, _
arrowState)
' Only draw the bottom text box if the arrow has been clicked.
If isActivated Then
ComboBoxRenderer.DrawTextBox(e.Graphics, _
bottomTextBoxRectangle, bottomText, Me.Font, textBoxState)
End If
End Sub
Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
MyBase.OnMouseDown(e)
' Check whether the user clicked the arrow.
If arrowRectangle.Contains(e.Location) And _
ComboBoxRenderer.IsSupported Then
' Draw the arrow in the pressed state.
arrowState = ComboBoxState.Pressed
' The user has activated the combo box.
If Not isActivated Then
Me.Text = "Clicked!"
textBoxState = ComboBoxState.Pressed
isActivated = True
' The user has deactivated the combo box.
Else
Me.Text = "Click here"
textBoxState = ComboBoxState.Normal
isActivated = False
End If
' Redraw the control.
Invalidate()
End If
End Sub
備註
呼叫這個方法之前,您應該先 IsSupported 確認 屬性會傳 true
回 。
適用於
DrawTextBox(Graphics, Rectangle, String, Font, TextFormatFlags, ComboBoxState)
在指定的狀態和範圍中,使用指定的文字和文字格式繪製文字方塊。
public:
static void DrawTextBox(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ comboBoxText, System::Drawing::Font ^ font, System::Windows::Forms::TextFormatFlags flags, System::Windows::Forms::VisualStyles::ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string comboBoxText, System.Drawing.Font font, System.Windows.Forms.TextFormatFlags flags, System.Windows.Forms.VisualStyles.ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? comboBoxText, System.Drawing.Font? font, System.Windows.Forms.TextFormatFlags flags, System.Windows.Forms.VisualStyles.ComboBoxState state);
static member DrawTextBox : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Windows.Forms.TextFormatFlags * System.Windows.Forms.VisualStyles.ComboBoxState -> unit
Public Shared Sub DrawTextBox (g As Graphics, bounds As Rectangle, comboBoxText As String, font As Font, flags As TextFormatFlags, state As ComboBoxState)
參數
- flags
- TextFormatFlags
TextFormatFlags 值的位元組合。
- state
- ComboBoxState
其中一個 ComboBoxState 值,指定文字方塊的可見狀態。
例外狀況
備註
呼叫這個方法之前,您應該先 IsSupported 確認 屬性會傳 true
回 。
適用於
DrawTextBox(Graphics, Rectangle, String, Font, Rectangle, TextFormatFlags, ComboBoxState)
在指定的狀態和範圍中,使用指定的文字、文字格式和文字範圍繪製文字方塊。
public:
static void DrawTextBox(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds, System::String ^ comboBoxText, System::Drawing::Font ^ font, System::Drawing::Rectangle textBounds, System::Windows::Forms::TextFormatFlags flags, System::Windows::Forms::VisualStyles::ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string comboBoxText, System.Drawing.Font font, System.Drawing.Rectangle textBounds, System.Windows.Forms.TextFormatFlags flags, System.Windows.Forms.VisualStyles.ComboBoxState state);
public static void DrawTextBox (System.Drawing.Graphics g, System.Drawing.Rectangle bounds, string? comboBoxText, System.Drawing.Font? font, System.Drawing.Rectangle textBounds, System.Windows.Forms.TextFormatFlags flags, System.Windows.Forms.VisualStyles.ComboBoxState state);
static member DrawTextBox : System.Drawing.Graphics * System.Drawing.Rectangle * string * System.Drawing.Font * System.Drawing.Rectangle * System.Windows.Forms.TextFormatFlags * System.Windows.Forms.VisualStyles.ComboBoxState -> unit
Public Shared Sub DrawTextBox (g As Graphics, bounds As Rectangle, comboBoxText As String, font As Font, textBounds As Rectangle, flags As TextFormatFlags, state As ComboBoxState)
參數
- flags
- TextFormatFlags
TextFormatFlags 值的位元組合。
- state
- ComboBoxState
其中一個 ComboBoxState 值,指定文字方塊的可見狀態。
例外狀況
備註
呼叫這個方法之前,您應該先 IsSupported 確認 屬性會傳 true
回 。