浮动工具条vb.net 可以浮动字迹的工具

如何创建C#版浮动工具栏

1、拖动出来以后,需要创建一个大小合适的窗口,作为工具栏新的停靠容器,这个窗口可以这样设置:

创新互联是一家集网站建设,夏县企业网站建设,夏县品牌网站建设,网站定制,夏县网站建设报价,网络营销,网络优化,夏县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;

ShowIcon = false;

ShowInTaskbar = false;

TopMost = true;

2、浮动工具栏可以扩展自.Net

Framework提供的ToolStrip,它被拖动都某个位置,松开鼠标左键时,会触发EndDarg事件,在这个事件中,我们将其从原来的停靠容器中移除,同时根据鼠标左键松开时,在鼠标所在位置上创建一个窗口,作为工具栏的新容器。

这个就是基本的思路了,下面是浮动工具栏FloatToolstrip 具体的实现代码:

[csharp] view plain copy print?

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Text;

using System.Windows.Forms;

namespace FloatToolStripDemo

{

public partial class FloatToolstrip : ToolStrip

{

private ToolStripPanel tsPanel;

public FloatToolstrip()

{

InitializeComponent();

this.EndDrag += new EventHandler(MyToolStrip_EndDrag);

this.SizeChanged += new EventHandler(MyToolStrip_SizeChanged);

}

private ToolStripFloatWindow floatForm;

public ToolStripFloatWindow FloatForm

{

get { return floatForm; }

set

{

floatForm = value;

if (floatForm != null)

{

floatForm.LocationChanged += new EventHandler(floatForm_LocationChanged);

floatForm.FormClosing += new FormClosingEventHandler(floatForm_FormClosing);

}

}

}

void floatForm_FormClosing(object sender, FormClosingEventArgs e)

{

e.Cancel = true;

}

private void floatForm_LocationChanged(object sender, EventArgs e)

{

//当floatwindws的位置移动到toolstrippanel中时,将this放置到 toolstripPanel上

if (this.floatForm == null)

{

return;

}

else

{

if (floatForm.HasCreated)

{

Point currentPt = new Point(floatForm.Location.X, floatForm.Location.Y);

Point minPt = this.tsPanel.PointToScreen(tsPanel.Location);

Point maxPt;

if (this.tsPanel.Height = 20)

{

maxPt = new Point(minPt.X + this.tsPanel.Width, minPt.Y + 20);

}

else

{

maxPt = new Point(minPt.X + this.tsPanel.Width, minPt.Y + this.tsPanel.Height);

}

if ((currentPt.X minPt.X) (currentPt.X maxPt.X) (currentPt.Y minPt.Y - 25) (currentPt.Y maxPt.Y - 25))

{

this.floatForm.Controls.Remove(this);

this.tsPanel.SuspendLayout();

this.tsPanel.Controls.Add(this);

this.Location = this.tsPanel.PointToClient(currentPt);

this.tsPanel.ResumeLayout();

this.floatForm.Dispose();

this.floatForm = null;

}

}

}

}

public bool isFloating

{

get

{

return (floatForm != null);

}

}

public ToolStripPanel ToolStripPanel

{

get

{

return this.tsPanel;

}

set

{

this.tsPanel = value;

}

}

private void MyToolStrip_EndDrag(object sender, EventArgs e)

{

//判断移除时

if (this.tsPanel == null)

{

MessageBox.Show("请先设置ToolStripPanel属性");

return;

}

Point dockPoint = Cursor.Position;

int openX, openY;

openX = dockPoint.X;

openY = dockPoint.Y;

Point clientPt = this.tsPanel.Parent.PointToClient(dockPoint);

if (clientPt.Y tsPanel.Height)

{

ToolStripFloatWindow tsfw = new ToolStripFloatWindow();

this.tsPanel.Controls.Remove(this);

tsfw.Controls.Add(this);

this.Left = 0;

this.Top = 0;

this.FloatForm = tsfw;

Point newLoc = new Point(openX, openY);

tsfw.Show();

tsfw.Location = newLoc;

tsfw.SetBounds(newLoc.X, newLoc.Y, this.ClientSize.Width, this.ClientSize.Height+25);

}

}

private void MyToolStrip_SizeChanged(object sender, EventArgs e)

{

if (this.isFloating)

{

this.floatForm.Width = this.ClientSize.Width;

}

}

}

}

动态创建的作为浮动工具栏临时容器的窗口,需要加入一些处理技巧,以免发生在创建该窗口的工作尚未结束时,Dispose了这个窗口,这种情况发生在快速拖动工具栏时,触发了EndDrag事件,导致去创建临时窗口作为工具栏新的容器,而这时又将工具栏拖回原停靠容器中,会导致Dispose还没有创建完毕的临时窗口,发生异常!

vb.net怎么制作浮动菜单?用toolbar吗,还是其他的?vs2008怎么找不到toolbar?那里加载?

可以做一个窗体,该窗体中放入你需要的菜单。

这个窗体几个特殊设置:

1。TOPmost设置为TRUE

2。Formborderstyle设置为none

3。showintaskbar设置为False

4。size设置为你的菜单大小

用的时候new一下就有啦!

这样就相当于悬浮窗体了,细节自己研究吧!^_^

如何禁止对话框关闭按钮和浮动工具条上的系统菜单

1、禁止对话框中的关闭按钮有二种方法。 第一种方法 ,用ModiftMenu()涵数来实现: CMenu* pMenu = this-GetSystemMenu(FALSE); pMenu-ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );第二种方法 ,用EnableMenuItem()涵数来实现: CMenu* pMenu = this-GetSystemMenu(FALSE); pMenu-EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED); 2、禁止浮动工具条上的系统菜单。 新建一个CToolBar的派生类CxxToolBar,在新类中的左键双击(CxxToolBar::OnLButtonDblClk(...))和左键单击(CxxToolBar:: OnLButtonDown(...))涵数中分别加入下面代码既可: if (IsFloating()) //工具条正在浮动状态中{CWnd* pMiniFrame; CWnd* pDockBar; pDockBar = GetParent(); pMiniFrame = pDockBar-GetParent(); //去除其上系统菜单 pMiniFrame-ModifyStyle(WS_SYSMENU, NULL); //重绘工具条 pMiniFrame-ShowWindow(SW_HIDE); pMiniFrame-ShowWindow(SW_SHOW);}3、禁止窗口最大化按钮

Mac系统屏幕下方的浮动工具条会自动隐藏,怎么让他不自动隐藏

1、首先点击屏幕左上角的苹果标志。

2、选择“系统偏好设置”。

3、打开后,选择“dock”,注意,10.14以上版本的Mac系统中这里叫“程序坞”。

4、取消勾选自动显示和隐藏Dock。

5、取消之后,下方就会出现工具条了。

6、最后点击左上角的红色叉号,关闭系统偏好设置即可。

怎么让VB CommandBars靠左侧边框显示,或者浮动显示?

创建工具栏很简单,直接使用CommandBars集合的Add方法,除了需要指定Name属性之外,可以接受其它所有的默认属性值。可以通过Position属性指定工具栏显示的位置。

Position属性的值由msoBarPosition常数指定。

msoBarLeft: 0,工具栏显示在工作表左边

msoBarTop: 1,工具栏显示在工作表上边

msoBarRight: 2,工具栏显示在工作表右边

msoBarBottom: 3,工具栏显示在工作表下边

msoBarFloating: 4,工具栏浮动显示

msoBarMenuBar: 5,这个常数表示创建菜单栏,不用于创建工具栏

msoBarPopup: 6,这个常数表示创建弹出菜单

分享文章:浮动工具条vb.net 可以浮动字迹的工具
新闻来源:https://www.cdcxhl.com/article44/dooshhe.html

成都网站建设公司_创新互联,为您提供外贸网站建设网站营销电子商务响应式网站搜索引擎优化面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作