当前位置: 首页>>代码示例>>C#>>正文


C# CheckBox.CreateGraphics方法代码示例

本文整理汇总了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);
//.........这里部分代码省略.........
开发者ID:johnmensen,项目名称:TradeSharp,代码行数:101,代码来源:MainForm.cs


注:本文中的System.Windows.Forms.CheckBox.CreateGraphics方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。