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


C# IDestination.DynamicDestinations方法代码示例

本文整理汇总了C#中IDestination.DynamicDestinations方法的典型用法代码示例。如果您正苦于以下问题:C# IDestination.DynamicDestinations方法的具体用法?C# IDestination.DynamicDestinations怎么用?C# IDestination.DynamicDestinations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IDestination的用法示例。


在下文中一共展示了IDestination.DynamicDestinations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddDestinationButton

        void AddDestinationButton(IDestination toolstripDestination)
        {
            if (toolstripDestination.isDynamic) {
                ToolStripSplitButton destinationButton = new ToolStripSplitButton();
                //ToolStripDropDownButton destinationButton = new ToolStripDropDownButton();
                destinationButton.DisplayStyle = ToolStripItemDisplayStyle.Image;
                destinationButton.Size = new Size(23, 22);
                destinationButton.Text = toolstripDestination.Description;
                destinationButton.Image = toolstripDestination.DisplayIcon;

                ToolStripMenuItem defaultItem = new ToolStripMenuItem(toolstripDestination.Description);
                defaultItem.Tag = toolstripDestination;
                defaultItem.Image = toolstripDestination.DisplayIcon;
                defaultItem.Click += delegate {
                    toolstripDestination.ExportCapture(true, surface, surface.CaptureDetails);
                };

                // The ButtonClick, this is for the icon, gets the current default item
                destinationButton.ButtonClick += delegate(object sender, EventArgs e) {
                    toolstripDestination.ExportCapture(true, surface, surface.CaptureDetails);
                };

                // Generate the entries for the drop down
                destinationButton.DropDownOpening += delegate(object sender, EventArgs e) {
                    ClearItems(destinationButton.DropDownItems);
                    destinationButton.DropDownItems.Add(defaultItem);

                    List<IDestination> subDestinations = new List<IDestination>();
                    subDestinations.AddRange(toolstripDestination.DynamicDestinations());
                    if (subDestinations.Count > 0) {
                        subDestinations.Sort();
                        foreach(IDestination subDestination in subDestinations) {
                            IDestination closureFixedDestination = subDestination;
                            ToolStripMenuItem destinationMenuItem = new ToolStripMenuItem(closureFixedDestination.Description);
                            destinationMenuItem.Tag = closureFixedDestination;
                            destinationMenuItem.Image = closureFixedDestination.DisplayIcon;
                            destinationMenuItem.Click += delegate {
                                closureFixedDestination.ExportCapture(true, surface, surface.CaptureDetails);
                            };
                            destinationButton.DropDownItems.Add(destinationMenuItem);
                        }
                    }
                };

                destinationsToolStrip.Items.Insert(destinationsToolStrip.Items.IndexOf(toolStripSeparator16), destinationButton);

            } else {
                ToolStripButton destinationButton = new ToolStripButton();
                destinationsToolStrip.Items.Insert(destinationsToolStrip.Items.IndexOf(toolStripSeparator16), destinationButton);
                destinationButton.DisplayStyle = ToolStripItemDisplayStyle.Image;
                destinationButton.Size = new Size(23, 22);
                destinationButton.Text = toolstripDestination.Description;
                destinationButton.Image = toolstripDestination.DisplayIcon;
                destinationButton.Click += delegate(object sender, EventArgs e) {
                    toolstripDestination.ExportCapture(true, surface, surface.CaptureDetails);
                };
            }
        }
开发者ID:oneminot,项目名称:greenshot,代码行数:58,代码来源:ImageEditorForm.cs


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