社区
C#
帖子详情
winform中怎么实现悬浮窗口?(急)
Kanderliu
2005-04-23 03:14:50
就是可以悬浮在主窗体之上,可以在自由操作住窗体,这个悬浮窗口类似于一个工具条一样的窗口.
...全文
1567
15
打赏
收藏
winform中怎么实现悬浮窗口?(急)
就是可以悬浮在主窗体之上,可以在自由操作住窗体,这个悬浮窗口类似于一个工具条一样的窗口.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Alabama
2005-04-24
打赏
举报
回复
鼠标移动问题。
public class MousePoint
{
public int X;
public int Y;
public MousePoint()
{
X=0;
Y=0;
}
public MousePoint(int x,int y)
{
X=x;
Y=y;
}
}
private MousePoint oldMP = new MousePoint();
private MousePoint newMP = new MousePoint();
private bool MDown = false;
private void Form2_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(MDown == true)
{
newMP.X = e.X;
newMP.Y = e.Y;
Point oldL = new Point(this.Location.X,this.Location.Y);
Point newL = new Point(oldL.X+(newMP.X-oldMP.X),oldL.Y+(newMP.Y-oldMP.Y));
this.Location = newL;
}
}
private void Form2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
oldMP.X = e.X;
oldMP.Y = e.Y;
MDown = true;
}
private void Form2_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
MDown = false;
}
foolnet
2005-04-24
打赏
举报
回复
我还真的不知道这些
学习
有意思
kqh0319
2005-04-24
打赏
举报
回复
学习.....
egxsun
2005-04-24
打赏
举报
回复
首先,为窗体添加一个私有域:
private System.Drawing.Point mousePoint;
然后,为窗体添加鼠标按下事件处理方法(我这里是MainForm_MouseDown,别忘了将该方法链接到MainForm.MouseDown事件,这不用多说了吧?):
private void MainForm_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) {
if(e.Button == MouseButtons.Left) {
this.mousePosition.X = e.X;
this.mousePosition.Y = e.Y;
}
}
在这里注意对鼠标按键进行筛选。
接下来,为窗体添加鼠标移动事件处理方法(我这里是MainForm_MouseMove):
private void MainForm_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {
if(e.Button == MouseButtons.Left) {
Form.Top = Control.MousePosition.Y - mousePosition.Y
- SystemInformation.FrameBorderSize.Height - SystemInformation.CaptionHeight;
Form.Left = Control.MousePosition.Y - mousePosition.Y
- SystemInformation.FrameBorderSize.Width;
}
}
这里,如果窗体没有标题栏,可以去掉“-SystemInformation.CaptionHeight”;如果窗体没有边框,还可以去掉“-SystemInformation.FrameBorderSize.Height”和“-SystemInformation.FrameBorderSize.Width”。
wlovenet
2005-04-24
打赏
举报
回复
#region 实现不将鼠标放在标题栏上也可拖动窗体
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd,int wMsg,int wParam,int lParam);
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)//实现不将鼠标放在标题栏上也可拖动窗体
{
ReleaseCapture();
SendMessage(this.Handle,WM_SYSCOMMAND,SC_MOVE+HTCAPTION, 0);
}
#endregion
delphiseabird
2005-04-24
打赏
举报
回复
我看 一楼就可以,你要是需要QQ那样,鼠标移开自动隐藏,就自己处理一下鼠标消息 调整窗体的位置
wjcking
2005-04-23
打赏
举报
回复
TopMost = true;
FormBorderStyle = FormBorderStyle.None;
Heister
2005-04-23
打赏
举报
回复
这么简单,还好意思问
gyf168
2005-04-23
打赏
举报
回复
TopMost = true;
FormBorderStyle = FormBorderStyle.None;
再弄个背景基本就挺像了
考虑半透明的话再设一下Opacity
badboy168
2005-04-23
打赏
举报
回复
frm.TopMost = true;
zahuifan
2005-04-23
打赏
举报
回复
如果没有标题栏的话,拖动窗体得另写代码。思路是在窗体的鼠标移动事件中让窗体的坐标随鼠标的坐标的增减而变化。可惜相关代码没找到。
hujiiori
2005-04-23
打赏
举报
回复
up
JasonHeung
2005-04-23
打赏
举报
回复
frm.TopMost = true;
凨叔
2005-04-23
打赏
举报
回复
一楼的方法应该可以满足楼主需求了。
mmqingfeng
2005-04-23
打赏
举报
回复
TopMost = true;
FormBorderStyle = FormBorderStyle.None;
再弄个背景基本就挺像了
考虑半透明的话再设一下Opacity
winform
模仿QQ聊天窗
口
皮肤控件
CSharp
winform
模仿QQ聊天窗
口
皮肤控件
winform
实现
360、QQ窗体与控件
利用
winform
的gdi+控件
实现
的QQ窗体与控件
198个经典C#
WinForm
实例源码 超赞的完整版
"198个经典C#
WinForm
实例源码"包括: 1-窗体技巧 2-控件操作 3-图像操作 4-报表打印 5-系统操作 6-文件处理 7-网络操作 8-数据库操作 9-加密解密 10-硬件读写 11-游戏设计 "超赞的198个经典C#
WinForm
实例源码.zip " ~欢迎同学们下载共同学习~
combobox
实现
下拉框多选
本方法和用checkbox, listbox等控件和事件拼凑出来的不同,本方法是一个集成的独立控件,基本
实现
了控件的顺滑度,下拉框可悬浮等效果,可以认为是comboBox的升级版,使用方便,仅需引用编译好的DLL,直接在toolBox拖拽出控件即可。
2021-11-24 WinFrom面试题 DevExpress
Winform
如何
实现
单选按钮?
在DevExpress
中
已经看不到RadioButton控件,只有RadioGroup,但它却不是我们想要的单选按钮。 其实这里我们仍然使用CheckEdit控件来
实现
,示例如下: CheckEdit.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; 此外,必须确保所设定的所有单选按钮设置RadioGroupIndex相同的索引编号。 ...
C#
111,093
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章