1、窗体的边框设置为无;
2、把窗体高度调整为25,发现跑的时候总在40左右,这时需要改改属性,
把MinimumSize(0, 0)改成不为0的,最好改成和自己想要一样的大小,
最大高宽也应该这么调;
3、把窗体的边框去了就不能移动窗体了,我们需要给窗体加鼠标按下、移动、松开事件
//===========================拖动窗口 开始============================
#region
窗口可拖动
Point
mouseOff;
//鼠标移动位置变量
bool
leftFlag;
//标签是否为左键
private
void
Form1_MouseDown(
object
sender,
MouseEventArgs
e)
{
if
(e.Button ==
MouseButtons
.Left)
{
mouseOff =
new
Point
(-e.X, -e.Y);
//得到变量的值
leftFlag =
true
;
//点击左键按下时标注为true;
}
}
private
void
Form1_MouseMove(
object
sender,
MouseEventArgs
e)
{
if
(leftFlag)
{
Point
mouseSet =
Control
.MousePosition;
mouseSet.Offset(mouseOff.X, mouseOff.Y);
//设置移动后的位置
Location = mouseSet;
}
}
private
void
Form1_MouseUp(
object
sender,
MouseEventArgs
e)
{
if
(leftFlag)
{
leftFlag =
false
;
//释放鼠标后标注为false;
}
}
#endregion
//===========================拖动窗口 结束============================
4、窗体打开和关闭的动画;
//=========================窗体动画 开始================================
#region
窗体动画
///
<summary>
///
窗体动画函数
///
</summary>
///
<param name="hwnd">
指定产生动画的窗口的句柄
</param>
///
<param name="dwTime">
指定动画持续的时间
</param>
///
<param name="dwFlags">
指定动画类型,可以是一个或多个标志的组合。
</param>
///
<returns></returns>
[
DllImport
(
"user32"
)]
private
static
extern
bool
AnimateWindow(
IntPtr
hwnd,
int
dwTime,
int
dwFlags);
//下面是可用的常量,根据不同的动画效果声明自己需要的
private
const
int
AW_HOR_POSITIVE = 0x0001;
//自左向右显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
private
const
int
AW_HOR_NEGATIVE = 0x0002;
//自右向左显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
private
const
int
AW_VER_POSITIVE = 0x0004;
//自顶向下显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志
private
const
int
AW_VER_NEGATIVE = 0x0008;
//自下向上显示窗口,该标志可以在滚动动画和滑动动画中使用。使用AW_CENTER标志时忽略该标志该标志
private
const
int
AW_CENTER = 0x0010;
//若使用了AW_HIDE标志,则使窗口向内重叠;否则向外扩展
private
const
int
AW_HIDE = 0x10000;
//隐藏窗口
private
const
int
AW_ACTIVE = 0x20000;
//激活窗口,在使用了AW_HIDE标志后不要使用这个标志
private
const
int
AW_SLIDE = 0x40000;
//使用滑动类型动画效果,默认为滚动动画类型,当使用AW_CENTER标志时,这个标志就被忽略
private
const
int
AW_BLEND = 0x80000;
//使用淡入淡出效果
//窗体代码(将窗体的FormBorderStyle属性设置为none):
private
void
Form1_Load(
object
sender,
EventArgs
e)
{
int
x =
Screen
.PrimaryScreen.WorkingArea.Left + 210;
int
y =
Screen
.PrimaryScreen.WorkingArea.Top + 96;
this
.Location =
new
Point
(x, y);
//设置窗体在屏幕右下角显示
AnimateWindow(
this
.Handle, 500, AW_SLIDE | AW_ACTIVE | AW_VER_POSITIVE);
}
//窗体关闭事件
private
void
FirstForm_DoubleClick(
object
sender,
EventArgs
e)
{
Form1_FormClosing(
null
,
null
);
}
public
void
Form1_FormClosing(
object
sender,
FormClosingEventArgs
e)
{
AnimateWindow(
this
.Handle, 500, AW_BLEND | AW_HIDE);
_instance =
null
;
}
#endregion
//=========================窗体动画 结束================================