用c#写类似于QQ那种窗体靠边可以缩进去的

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:49:25
用c#写类似于QQ那种窗体靠边可以缩进去,又可以弹出来的代码?
应该是跟坐标有关吧? 具体代码应该怎么写?

我写的缩进去的代码 好像有点错误 运行的时候只能缩一半
this.Location = new Point(this.Location.X, this.Location.Y);
int f = this.Location.X;
if (this.Location.X > this.Location.X + f)
{
//this.Width = 100;
this.timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
this.Width -= 40;
if (this.Width < 0.2)
this.Width--;
}\

有代码就发给我吧

长宽不要控制,只控制位置就行了
可能你不能让你的窗口全部缩进去,要留下一两个像素的边在外面,这样的话,你可以把鼠标放在那里,引发事件让它出来。
一般来说,我做的时侯是用一个timer在查鼠标是不是在窗口内,如果在,就让它出来(如果隐起来了的话),如果不在(且如果它在边上)就改变它的位置让它进去

如果想要向上隐去,那么位置的y坐标给负值,如果想左隐,x坐标给负值,如果想右隐,x坐标给屏幕宽减(一或二,前面的左和上稳也是同理)

你判断窗体的四个边是否 >=1024 >=768 或 <=0 <=0 (当然有可能是宽屏 你可以去看看有没有什么属性是可查看当前屏幕像素数的,local是窗体,我不记得屏幕像素数怎么获取了,我记得我以前做锁定鼠标的时候做过,你找找应该能找到) 然后根据数值判断往哪缩
不要控制高和宽 控制4个边和屏幕边界的差值 5个像素就可以了 一般都是露个边的 不然找不到了 然后做个状态值(比如0)
然后判断在这个状态值的情况下 当鼠标移动到窗体上 再控制边界 然后给个状态值(比如1)

即可

对了 拖放完成事件 判断写到这个里面去 刚才忘了说了

昨天我回去做了一个 做好了 需不需要我给你发过去

qq 28183547

if (this.Location.X > this.Location.X + f) 这可能吗?

代码多贴点哦

width控制宽度..
left控制 横轴(相当于x) Top控制竖轴(相当于y) .

??

不要控制this.Width 你可以控制this.Left或者Top