锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 英语翻译 / c#弹出工具栏的代码
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品开源心得,转载请注明:“锐英源www.wisestudy.cn,孙老师作品,电话13803810136。”需要全文内容也请联系孙老师。

c#弹出工具栏的代码

弹出工具栏

Introduction 介绍

I looked for a kind of flyout toolbar in C#. The only article I found was: "Creating Flyout Toolbars". You can find the article here. But the code is written in C++. So I decided to write my own version in C#.

我寻找在c#中弹出的工具栏的代码。我在唯一的一篇文章中发现:“创建弹出工具栏”。你可以在这里找到这篇文章。但是代码是用c++写的。所以我决定在c#中写我自己的版本。

The principle 原则

The goal is to have not too many buttons on a toolbar. If you click long enough on a button, a toolbar appears. Simply drag the cursor on the toolbar and select the button of your choice by releasing the mouse button. After that, if you quickly click this button, the corresponding function is performed.

我们的目标是在工具栏上没有太多的按钮。如果你单击一个按钮的时间足够长,会出现一个工具栏。只需将光标拖在工具栏,并通过释放鼠标选择您需要的按钮。之后,如果你快速点击这个按钮,就会执行相应的功能。

How to create a CSFOToolbar 如何创建一个工具栏

Copy the file 'CSFOToolbar.cs' into the directory of your project and in the solution, add the file with 'Add existing item...' 复制“CSFOToolbar.cs”文件到您的解决方案的项目目录,添加文件到“现有的项目……”

Build up a first time the solution. You will see a new component in the toolbar of Visual Studio. 首次建立一个解决方案。您将看到在Visual Studio的工具栏中一个新的组件。

Drag a CSFOToolbar component to the form or in a toolstrip container. Remark: the CSFOToolbar component behaves like a classic ToolStrip. 把CSFO工具栏组件拖到表单或一个工具栏的集合中。备注:CSFO工具栏组件像一个经典的工具栏。

Add some toolstrip buttons in the CSFOToolbar component. 在CSFO工具组件中添加一些工具栏按钮。

Add one or more classic toolstrip(s) on the main form. 在主要的表单中添加一个或多个经典的工具栏。

Add toolstrip buttons into those toolstrips. 添加工具栏按钮到这些工具栏中。

Add click events for those toolstrip buttons. Attention: each button must have a click event defined previously otherwise it won't work out (the button could not be selected). 给那些工具按钮添加点击事件。注意:每个按钮定义之前必须有一个单击事件否则它不会工作(按钮不能被选中)。

Add the form_load method in the project and call the method 'AddFlyout()' of the CSFOToolbar for each button you want to attach a flyout toolbar to. By doing this, the classic toolstrip will become a flyout toolbar. 在项目中添加form_load方法并且给每个你想附加的弹出工具栏按钮调用AddFlyout()。通过这样做,典型的工具栏将成为弹出工具栏。

Example:例子:
private void Form1_Load(object sender, EventArgs e)
{
csfoToolBar1.AddFylout(newToolStripButton, toolStrip1, 0);
csfoToolBar1.AddFylout(helpToolStripButton, toolStrip2, 0);
}
The parameters of the method 'AddFlyout()' are:“AddFlyout()”方法的参数是:

The first parameter is the button of the CSFOToolbar which is attached to the toolstrip, 第一个参数是被附连到工具栏的按钮

The second parameter is the toolstrip to attach (that becomes a flyout toolbar), 第二个参数是附加(即变成一个弹出工具栏)的工具栏,

The third parameter indicates the index (0 based) of the button in the flyout toolbar that will be selected by default (at start). 第三个参数表明该指数基于(0)的弹出工具栏按钮,将会默认选中(开始)。

Remark: Do not create a click event for the button with a flyout toolbar attached in the CSFOToolbar. 备注:附加在CSFOToolbar中的弹出工具栏的按钮不用创建单击事件.

The properties of CSFOToolbar0CSFOToolbar的属性

Each button with a flyout toolbar is marked with a red triangle in the down right corner. 弹出工具栏的每个按钮右下角被标上一个红色的三角形。

Corner color: the color of the triangle (default: red), 三角形的颜色(默认值:红色),

Corner size: the size in pixel of the triangle (default: 6), 三角形的大小(默认值:6),

Delay: the time (in ms) before the flyout appears (default: 300ms). 延迟:弹出的时间(毫秒)(默认值:300 ms)。

Orientation: define the orientation of the flyout toolbar. Possible values are: 方向:定义弹出工具栏的方向。可能的值是:

Horizontal: the flyout toolbar is always displayed horizontally (default), 水平:弹出工具栏总是水平显示(默认),

Vertical: the flyout toolbar is always displayed vertically, 垂直:弹出工具栏总是垂直显示,

Same: the flyout toolbar is always displayed in the same orientation of its ‘main’ toolbar, 相同:弹出工具栏总是和“主要”工具栏显示的方向相同,

Opposite: the flyout toolbar is always displayed in the opposite orientation of its ‘main’ toolbar. 相反:弹出工具栏总是和“主要”工具栏显示的方向相反。

Restrict: Restrict the display of the flyout toolbar to the area of the form (default: false).限制:限制弹出工具栏的显示面积(默认值:false)。

Points of Interest 兴趣点

How to transfer the event click handler from a toolstrip button to another one in another toolstrip using reflection (the methods: ModifyComponentEventHandler(…) and GetDelegate(…)), 使用反射(方法:ModifyComponentEventHandler(…)和GetDelegate(…))如何将一个按钮的单击事件转移到另一个工具栏的按钮上,

How to use a form to display a flyout (or floating) toolstrip (the class CSFOform), 如何使用一个表单来显示一个弹出(或流动)工具栏(类CSFOform),

How to manage events from a control (a toolstrip button) into another control (the form of the flyout toolstrip), 如何管理事件从一个控件(工具栏按钮)到另一个控件(弹出出工具栏),

How to find a toolstrip button at the mouse position (the method: FindButton(…)), 如何找到在鼠标位置的工具栏按钮(方法:FindButton(…)),

How to modify the orientation of a toolstrip by modifying the layout style (the method: ReturnLayoutStyle(…)), 如何通过修改布局风格修改工具栏的方向(方法:ReturnLayoutStyle(…)),

An example of using the toolstrip renderer (the class: CSFOToolbarRenderer), 一个使用工具栏渲染器的例子(类:CSFOToolbarRenderer),

An example of using timer, 使用定时器的一个例子,

An example of forcing to display a tooltip on a toolstrip (in the method c_MouseMove(…) of CSFOForm,) 显示在工具栏上的工具提示的例子(方法c_MouseMove CSFOForm(…),)

Environment 环境

This class is developed under Visual Studio 2005 with framework 2.0. 这个类是在Visual Studio 2005中与框架2.0下开发。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内