Add csharp code;fix headers;bugs (#194)

This commit is contained in:
Andy De George
2021-02-02 13:24:37 -08:00
committed by GitHub
parent 4c720fbda1
commit 1aad00b25d
@@ -30,76 +30,99 @@ The <xref:System.Windows.Forms.ToolStrip> controls have the following associated
The following procedures describe various aspects of custom drawing. The following procedures describe various aspects of custom drawing.
### To switch between the provided renderers ## Switch between the provided renderers
- Set the <xref:System.Windows.Forms.ToolStrip.RenderMode%2A> property to the <xref:System.Windows.Forms.ToolStripRenderMode> value you want. - Set the <xref:System.Windows.Forms.ToolStrip.RenderMode%2A> property to the <xref:System.Windows.Forms.ToolStripRenderMode> value you want.
With <xref:System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode>, the static <xref:System.Windows.Forms.ToolStrip.RenderMode%2A> determines the renderer for your application. The other values of <xref:System.Windows.Forms.ToolStripRenderMode> are <xref:System.Windows.Forms.ToolStripRenderMode.Custom>, <xref:System.Windows.Forms.ToolStripRenderMode.Professional>, and <xref:System.Windows.Forms.ToolStripRenderMode.System>. With <xref:System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode>, the static <xref:System.Windows.Forms.ToolStrip.RenderMode%2A> determines the renderer for your application. The other values of <xref:System.Windows.Forms.ToolStripRenderMode> are <xref:System.Windows.Forms.ToolStripRenderMode.Custom>, <xref:System.Windows.Forms.ToolStripRenderMode.Professional>, and <xref:System.Windows.Forms.ToolStripRenderMode.System>.
### To change the Microsoft Officestyle borders to straight ## Change the Officestyle borders
- Override <xref:System.Windows.Forms.ToolStripProfessionalRenderer.OnRenderToolStripBorder%2A?displayProperty=nameWithType>, but do not call the base class. - Override <xref:System.Windows.Forms.ToolStripProfessionalRenderer.OnRenderToolStripBorder%2A?displayProperty=nameWithType>, but do not call the base class.
> [!NOTE] > [!NOTE]
> There is a version of this method for <xref:System.Windows.Forms.ToolStripRenderer>, <xref:System.Windows.Forms.ToolStripSystemRenderer>, and <xref:System.Windows.Forms.ToolStripProfessionalRenderer>. > There is a version of this method for <xref:System.Windows.Forms.ToolStripRenderer>, <xref:System.Windows.Forms.ToolStripSystemRenderer>, and <xref:System.Windows.Forms.ToolStripProfessionalRenderer>.
### To change the ProfessionalColorTable ## Change the ProfessionalColorTable
- Override <xref:System.Windows.Forms.ProfessionalColorTable> and change the colors you want. - Override <xref:System.Windows.Forms.ProfessionalColorTable> and change the colors you want.
```csharp
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
```vb private void Form1_Load(object sender, EventArgs e)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ {
System.EventArgs) Handles Me.Load var colorTable = new MyColorTable();
Dim t As MyColorTable = New MyColorTable toolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable);
ToolStrip1.Renderer = New ToolStripProfessionalRenderer(t) }
End Sub
Class MyColorTable class MyColorTable: ProfessionalColorTable
Inherits ProfessionalColorTable {
public override System.Drawing.Color ButtonPressedGradientBegin => Color.Red;
public override System.Drawing.Color ButtonPressedGradientMiddle => Color.Blue;
public override System.Drawing.Color ButtonPressedGradientEnd => Color.Green;
public override System.Drawing.Color ButtonSelectedGradientBegin => Color.Yellow;
public override System.Drawing.Color ButtonSelectedGradientMiddle => Color.Orange;
public override System.Drawing.Color ButtonSelectedGradientEnd => Color.Violet;
}
}
```
```vb
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim colorTable As New MyColorTable
ToolStrip1.Renderer = New ToolStripProfessionalRenderer(colorTable)
End Sub
Public Overrides ReadOnly Property ButtonPressedGradientBegin() As Color Class MyColorTable
Get Inherits ProfessionalColorTable
Return Color.Red
End Get
End Property
Public Overrides ReadOnly Property ButtonPressedGradientMiddle() _ Public Overrides ReadOnly Property ButtonPressedGradientBegin() As System.Drawing.Color
As System.Drawing.Color Get
Get Return Color.Red
Return Color.Blue End Get
End Get End Property
End Property
Public Overrides ReadOnly Property ButtonPressedGradientEnd() _ Public Overrides ReadOnly Property ButtonPressedGradientMiddle() As System.Drawing.Color
As System.Drawing.Color Get
Get Return Color.Blue
Return Color.Green End Get
End Get End Property
End Property
Public Overrides ReadOnly Property ButtonSelectedGradientBegin() _ Public Overrides ReadOnly Property ButtonPressedGradientEnd() As System.Drawing.Color
As Color Get
Get Return Color.Green
Return Color.Yellow End Get
End Get End Property
End Property
Public Overrides ReadOnly Property ButtonSelectedGradientMiddle() As System.Drawing.Color Public Overrides ReadOnly Property ButtonSelectedGradientBegin() As System.Drawing.Color
Get Get
Return Color.Orange Return Color.Yellow
End Get End Get
End Property End Property
Public Overrides ReadOnly Property ButtonSelectedGradientEnd() _ Public Overrides ReadOnly Property ButtonSelectedGradientMiddle() As System.Drawing.Color
As System.Drawing.Color Get
Get Return Color.Orange
Return Color.Violet End Get
End Get End Property
End Property
End Class
```
### To change the rendering for all ToolStrip controls in your application Public Overrides ReadOnly Property ButtonSelectedGradientEnd() As System.Drawing.Color
Get
Return Color.Violet
End Get
End Property
End Class
End Class
```
## Change rendering for all ToolStrips
1. Use the <xref:System.Windows.Forms.ToolStripManager.RenderMode%2A?displayProperty=nameWithType> property to choose one of the provided renderers. 1. Use the <xref:System.Windows.Forms.ToolStripManager.RenderMode%2A?displayProperty=nameWithType> property to choose one of the provided renderers.
@@ -107,25 +130,25 @@ The <xref:System.Windows.Forms.ToolStrip> controls have the following associated
3. Ensure that <xref:System.Windows.Forms.ToolStrip.RenderMode%2A?displayProperty=nameWithType> is set to the default value of <xref:System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode>. 3. Ensure that <xref:System.Windows.Forms.ToolStrip.RenderMode%2A?displayProperty=nameWithType> is set to the default value of <xref:System.Windows.Forms.ToolStripRenderMode.ManagerRenderMode>.
### To turn off the Microsoft Office colors for the entire application ## Turn off the Office colors
- Set <xref:System.Windows.Forms.ToolStripManager.VisualStylesEnabled%2A?displayProperty=nameWithType> to `false`. - Set <xref:System.Windows.Forms.ToolStripManager.VisualStylesEnabled%2A?displayProperty=nameWithType> to `false`.
### To turn off the Microsoft Office colors for one ToolStrip control ## Turn off the Office colors for one ToolStrip
- Use code similar to the following code example. - Use code similar to the following code example.
```csharp
ProfessionalColorTable colorTable = new ProfessionalColorTable();
colorTable.UseSystemColors = true;
toolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable);
```
```vb ```vb
Dim colorTable As ProfessionalColorTable() Dim colorTable As New ProfessionalColorTable
colorTable.UseSystemColors = True colorTable.UseSystemColors = True
Dim toolStrip.Renderer As ToolStripProfessionalRenderer(colorTable) ToolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable)
``` ```
```csharp
ProfessionalColorTable colorTable = new ProfessionalColorTable();
colorTable.UseSystemColors = true;
toolStrip.Renderer = new ToolStripProfessionalRenderer(colorTable);
```
## See also ## See also