1. QQ好友里那些离线的图片是用程序代码实现的还是有那样的图片,如果有的话,在哪找?(10分)2.QQ那个有一个图片又有一个箭头的按钮是什么控件? (10分)3. 类似QQ查找按钮和QQ聊天窗口中查看别人详细资料那种按钮,前面一个图片,后面是字的按钮,是哪个?(10分)3. QQ那样的不能改变登陆窗体的大小.是怎么实现的? 如果设置他的最大和最小的话,点那个设置按钮,还是把窗体变大了哦,而且QQ登陆窗体把鼠标放在边框,是不会变成拖动状态的;(20分)4. QQ那样的自动隐藏窗体是怎么实现的?(最好有详细代码) (50分)
解决方案 »
- winform开发一般用什么架构?
- remoting事件(服务端广播)
- byte[]与IntPtr互转问题
- 问哈 在Datagrid 中BoundColumn 可不可以设置行内样式? 怎么写呢?
- windowsforms中调用WPF控件的问题
- 100分跪求Sandcastle Help File Builder 1.5版本或者Sandcastle2.4版本
- 如何用C#实现用户分组
- net按照点击高排序,怎么不行啊 ,急急急!!!
- 大家谈谈把ERP的业务层用C#做成com+怎样实现,和用xml web service有什么不同之处
- 我想用Form1做个闪屏,如何在Form1关闭时,我的应用程序不会关闭??
- 更新数据库的问题
- 高手帮帮忙!在线等,
:是代码实现.其它图片可以在安装路径下找到.
2.QQ那个有一个图片又有一个箭头的按钮是什么控件? (10分)
:是个图片.相当于我们平时做的树控件(TreeView).
3. 类似QQ查找按钮和QQ聊天窗口中查看别人详细资料那种按钮,前面一个图片,后面是字的按钮,是哪个?(10分)
:vs2005中的winform的Button就可以做成那种效果(前面是图片,后面是文本).
3. QQ那样的不能改变登陆窗体的大小.是怎么实现的? 如果设置他的最大和最小的话,点那个设置按钮,还是把窗体变大了哦,而且QQ登陆窗体把鼠标放在边框,是不会变成拖动状态的;(20分)
:winform里有这一项窗体设置(FormBorderStyle属性,有实现这一功能的选项).
4. QQ那样的自动隐藏窗体是怎么实现的?(最好有详细代码) (50分)
:调用系统的API(腾讯公司是和微软经常打交道的).
:图片变灰应该是在服务器端设置的,可以html代码把图片变灰.(可以把好友列表看作是网页).
3.我用的2003,能不能做出那样的效果,,按钮与窗体是平行的
:2003好像不行.
4题有没有详细点的代码呀?
:
http://www.sooweb.net/Article/Developer/VB-VB.NET/10825.html
:vs2005WinFrom的工具箱里有一ToolStrip控件,里面ToolStripDropDownButton就是那种右边带一下拉箭头的控件.
:vs2005中每个窗体都有一个.resx文件,这个文件可以存储你要用的图片,字符串等资源,这样程序运行时,可以轻松地更换图片(有访问这资源文件的类).不过,你设置他不为可用时系统可能会自变为灰色.如果这样不行,你就再找一个灰色图片.
3问题:2003不行的话,有没有其他什么控件可以使用呀?
:.net2003的winform功能不强大,是.net架构师现在的一个遗憾,原因当初没有重视它.
实在不行,就到网上去找...
FormBorderStyle属性设为FixedSingle4、简单点的,拖个timerprivate void Form1_Load(object sender, System.EventArgs e)
{
timer1.Start();
}private void timer1_Tick(object sender, System.EventArgs e)
{
if (this.WindowState != System.Windows.Forms.FormWindowState.Minimized)
{
if (Cursor.Position.X > this.Left && Cursor.Position.X < this.Right && Cursor.Position.Y > this.Top && Cursor.Position.Y < this.Bottom)
{
if (this.Top < 0)
{
this.Top = -5;
this.Show();
}
else if (this.Left < 0)
{
this.Left = -5;
this.Show();
}
else if (this.Left + this.Width >= Screen.PrimaryScreen.WorkingArea.Width)
{
this.Left = Screen.PrimaryScreen.WorkingArea.Width - this.Width + 5;
this.Show();
}
}
else
{
if (this.Top <= 4)
{
this.Top = 5 - this.Height;
if (this.Left <= 4)
{
this.Left = -5;
}
else if (this.Left + this.Width >= Screen.PrimaryScreen.WorkingArea.Width - 4)
{
this.Left = Screen.PrimaryScreen.WorkingArea.Width - this.Width + 5;
}
}
else if (this.Left <= 4)
{
this.Left = 5 - this.Width;
}
else if (this.Left + this.Width >= Screen.PrimaryScreen.WorkingArea.Width - 4)
{
this.Left = Screen.PrimaryScreen.WorkingArea.Width - 5;
}
}
}
}另外如果要效果好点的,8J写了一个组件,可以试下
http://www.cnblogs.com/Red_angelX/archive/2007/05/15/747417.html
深度肯定没有lz高啦
跟着lz的帖学了不少
向各位高手学习~~
在窗体移动的时候判断,如果是靠近屏幕边缘,就把窗口隐藏。另外在鼠标移动事件判断,如果鼠标靠近隐藏的窗口,就显示出来。
简单地写下代码:protected bool isHide; private void Form1_Move(object sender, EventArgs e)
{
if (this.Top < 20) //如果窗口靠近屏幕顶
isHide = true;
else
isHide = false;
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
//鼠标移入时显示窗体
if (isHide)
this.Top = 0;
} private void Form1_MouseLeave(object sender, EventArgs e)
{
if (isHide)
//鼠标移出时隐藏窗体,也就是把窗体移出到屏幕上方,使底部在屏幕顶
this.Top = 10 - (this.Height);
}
这段代码实际上有问题,因为MouseMove事件对鼠标在标题栏等情况无效。我这里只是写个意思出来。更好的方法是API,重载WndProc,响应WM_MouseMove和WM_NCMouseMove消息。当然要先SetCapture(),使窗体能接受所有鼠标消息。然后用GetCursorPos()得到鼠标位置,判断是否在窗体上,决定是显示还是隐藏窗体。
具体的代码今晚懒得写,如果需要,明天有空再写。另外,如果要窗体不能调整大小,只要设
this.FormBorderStyle = FormBorderStyle.Fixed3D;
this.MaximizeBox = false;
就可以了
在QQ的早期版本,自带的头像,每个头像都是有三种,彩色(在线),灰色(离线),还有一个是离开状态的。 现在的QQ能自定义头像,所以可能灰色图是动态生成的。按钮控件的问题,如果03里面没有,自己继承Button,写一个也不是很麻烦。GDI+画界面也挺方便。
[email protected]