本文整理汇总了C#中System.Windows.Forms.CheckBox.CreateGraphics方法的典型用法代码示例。如果您正苦于以下问题:C# CheckBox.CreateGraphics方法的具体用法?C# CheckBox.CreateGraphics怎么用?C# CheckBox.CreateGraphics使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Forms.CheckBox
的用法示例。
在下文中一共展示了CheckBox.CreateGraphics方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InitializeToolButtons
/// <summary>
/// показать выбранные кнопки инструментальной панели
/// </summary>
private void InitializeToolButtons(List<ChartToolButtonSettings> buttons, Control panel)
{
const int buttonMarging = 3;
var buttonTop = toolBtnCross.Top;
var firstUserButtonX = btnFlipPanelChartTools.Right + buttonMarging;
var buttonSize = toolBtnCross.Size;
// удалить кнопки
while (panel.Controls.Count > 1)
panel.Controls.RemoveAt(1);
// добавить кнопки
var left = firstUserButtonX;
foreach (var btnDescr in buttons)
{
if (btnDescr.Group != null)
continue;
var button = new CheckBox
{
Parent = panel,
ImageIndex = btnDescr.Image,
Tag = btnDescr,
Appearance = Appearance.Button,
//FlatStyle = FlatStyle.Flat,
ImageList = lstGlyph32,
};
// кнопка "Курсор" нажата по-умолчанию
if (btnDescr.ButtonType == ChartToolButtonSettings.ToolButtonType.Chart &&
btnDescr.Tool == CandleChartControl.ChartTool.Cursor)
button.Checked = true;
// кнопки "Запустить роботов", "Портфель роботов", "Состояние роботов"
UpdateRobotIconUnsafe(robotFarm != null ? robotFarm.State : RobotFarm.RobotFarmState.Stopped);
buttonToolTip.SetToolTip(button, btnDescr.ToString());
if (btnDescr.IsVisibleDisplayName)
{
button.Text = btnDescr.ToString();
var len = (int) button.CreateGraphics().MeasureString(button.Text, button.Font).Width +
lstGlyph32.ImageSize.Width + 16;
button.SetBounds(left, buttonTop, len, buttonSize.Height);
left += (len + buttonMarging);
button.ImageAlign = ContentAlignment.MiddleLeft;
button.TextAlign = ContentAlignment.MiddleRight;
}
else
{
button.SetBounds(left, buttonTop, buttonSize.Width, buttonSize.Height);
left += (buttonSize.Width + buttonMarging);
}
button.Click += ToolStripBtnClick;
// добавить в панель
panel.Controls.Add(button);
}
// добавить кнопки-менюшки
var groupBtnWidth = buttonSize.Width + 12;
var buttonGroups = buttons.Where(b => b.Group != null).Select(b => b.Group).Distinct().ToList();
foreach (var group in buttonGroups)
{
var groupBtn = new Button
{
Parent = panel,
ImageIndex = group.ImageIndex,
Tag = group,
ImageList = lstGlyph32,
FlatStyle = FlatStyle.Flat,
Text = " ...",
ImageAlign = ContentAlignment.MiddleLeft,
TextAlign = ContentAlignment.MiddleRight
};
buttonToolTip.SetToolTip(groupBtn, group.Title);
groupBtn.SetBounds(left, buttonTop, groupBtnWidth, buttonSize.Height);
left += (groupBtn.Width + buttonMarging);
// создать менюшку
groupBtn.Click += GroupBtnClick;
var btnMenu = new ContextMenuStrip {/*Parent = this,*/ Tag = group.Title};
var thisGroup = group;
var groupButtons = buttons.Where(b => b.Group == thisGroup);
foreach (var btn in groupButtons)
{
var item = new ToolStripButton(btn.ToString(), lstGlyph32.Images[btn.Image],
ToolStripBtnClick) {Tag = btn};
btnMenu.Items.Add(item);
if (btnMenu.Width < item.Width)
btnMenu.Width = item.Width;
}
// добавить пустышку, чтобы размер меню был посчитан корректно
if (btnMenu.Items.Count == 1)
{
var item = new ToolStripLabel("empty") {Visible = false};
btnMenu.Items.Add(item);
}
buttonMenus.Add(btnMenu);
//.........这里部分代码省略.........