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,55 +30,78 @@ 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();
}
private void Form1_Load(object sender, EventArgs e)
{
var colorTable = new MyColorTable();
toolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable);
}
class MyColorTable: 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 ```vb
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ Public Class Form1
System.EventArgs) Handles Me.Load Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim t As MyColorTable = New MyColorTable Dim colorTable As New MyColorTable
ToolStrip1.Renderer = New ToolStripProfessionalRenderer(t) ToolStrip1.Renderer = New ToolStripProfessionalRenderer(colorTable)
End Sub End Sub
Class MyColorTable Class MyColorTable
Inherits ProfessionalColorTable Inherits ProfessionalColorTable
Public Overrides ReadOnly Property ButtonPressedGradientBegin() As Color Public Overrides ReadOnly Property ButtonPressedGradientBegin() As System.Drawing.Color
Get Get
Return Color.Red Return Color.Red
End Get End Get
End Property End Property
Public Overrides ReadOnly Property ButtonPressedGradientMiddle() _ Public Overrides ReadOnly Property ButtonPressedGradientMiddle() As System.Drawing.Color
As System.Drawing.Color
Get Get
Return Color.Blue Return Color.Blue
End Get End Get
End Property End Property
Public Overrides ReadOnly Property ButtonPressedGradientEnd() _ Public Overrides ReadOnly Property ButtonPressedGradientEnd() As System.Drawing.Color
As System.Drawing.Color
Get Get
Return Color.Green Return Color.Green
End Get End Get
End Property End Property
Public Overrides ReadOnly Property ButtonSelectedGradientBegin() _ Public Overrides ReadOnly Property ButtonSelectedGradientBegin() As System.Drawing.Color
As Color
Get Get
Return Color.Yellow Return Color.Yellow
End Get End Get
@@ -90,16 +113,16 @@ The <xref:System.Windows.Forms.ToolStrip> controls have the following associated
End Get End Get
End Property End Property
Public Overrides ReadOnly Property ButtonSelectedGradientEnd() _ Public Overrides ReadOnly Property ButtonSelectedGradientEnd() As System.Drawing.Color
As System.Drawing.Color
Get Get
Return Color.Violet Return Color.Violet
End Get End Get
End Property End Property
End Class End Class
End Class
``` ```
### To change the rendering for all ToolStrip controls in your application ## 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,24 +130,24 @@ 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.
```vb
Dim colorTable As ProfessionalColorTable()
colorTable.UseSystemColors = True
Dim toolStrip.Renderer As ToolStripProfessionalRenderer(colorTable)
```
```csharp ```csharp
ProfessionalColorTable colorTable = new ProfessionalColorTable(); ProfessionalColorTable colorTable = new ProfessionalColorTable();
colorTable.UseSystemColors = true; colorTable.UseSystemColors = true;
toolStrip.Renderer = new ToolStripProfessionalRenderer(colorTable); toolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable);
```
```vb
Dim colorTable As New ProfessionalColorTable
colorTable.UseSystemColors = True
ToolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable)
``` ```
## See also ## See also