c# - 如何在c#中使桌面上的可移动窗体成为无边框形式?
问题描述
我希望能够在 C# 中用鼠标移动一个没有边框和标题栏的表单。
我查看了 youtube,但找不到任何有效的方法。
有人可以帮助我吗?
解决方案
您可以将表单的 MouseDown、Up 和 Move 事件与如下条件变量一起使用:
private bool IsMoving;
private Point LastCursorPosition;
private void FormTest_MouseDown(object sender, MouseEventArgs e)
{
IsMoving = true;
LastCursorPosition = Cursor.Position;
}
private void FormTest_MouseUp(object sender, MouseEventArgs e)
{
IsMoving = false;
}
private void FormTest_MouseMove(object sender, MouseEventArgs e)
{
if ( IsMoving )
{
int x = Left - ( LastCursorPosition.X - Cursor.Position.X );
int y = Top - ( LastCursorPosition.Y - Cursor.Position.Y );
Location = new Point(x, y);
LastCursorPosition = Cursor.Position;
}
}
它适用于表单的背景,但您也可以将其添加到任何其他控件。
推荐阅读
- colors - 如何更改引导加载程序的颜色
- python - PyQt5中的Tkinter窗口、按钮和显示HTML页面
- html - 通过输入/输出在 HTML 中显示常量?
- jquery - 未捕获的错误:语法错误,来自 1.7.1js 的 jQuery 1.12.4 中无法识别的表达式
- java - 无法连接到 http://localhost:8080/openacs/acs,Openacs 服务器出现 500 内部错误
- c# - 如何调用具有别名或属性名的函数?
- java - JAVA_HOME 路径未指向正确路径
- apache-kafka - node-rdkafka - 调试设置为全部,但我只看到代理传输失败
- delphi - Delphi:如何在线程中打开批处理文件(Windows服务)
- docker - Docker Windows 错误报告 StackOverflowExceptions 的崩溃转储不工作