怎么为Rectangle定义mouseenter(急) 我使用Graphics自己绘制了一个窗体。最小化、最大化、关闭按钮全部是用Rectangle定义区域填充图片显示的。。现在想实现鼠标移到关闭按钮上的时候改变图片。需要怎么实现??谢谢解答。! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你先定义一个 Rectangle 例如 Rectangle _CloseRectangle =new Rectangle(100,100,10,10);Graphics.DrawImage(关闭图片,_CloseRectangle);在Mouse里使用if(_Rectangle.Contains(e.x,e.y)){ //关闭..} 在MouseMove事件里判断鼠标的位置是否在矩形内就好了。 我以前都做B/S开发。最近才开始研究做C/S。能给出详细点的代码么?非常感谢。public void DrawClose(Graphics g) { Rectangle closeRecangle = new Rectangle(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop, this.closeImage.Width, this.closeImage.Height); using (TextureBrush sb = new TextureBrush(this.closeImage)) { sb.TranslateTransform(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop); g.FillRectangle(sb, closeRecangle); } }这是我绘制的关闭图片。mouseenter事件要写在哪里呢?或者用MouseMove时间写要怎么写啊? private Rectangle closeRecangle;public void DrawClose(Graphics g) { closeRecangle = new Rectangle(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop, this.closeImage.Width, this.closeImage.Height); using (TextureBrush sb = new TextureBrush(this.closeImage)) { sb.TranslateTransform(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop); g.FillRectangle(sb, closeRecangle); } } private Rectangle closeRecangle; private void Form1_MouseUp(object sender, MouseEventArgs e) { if (closeRecangle.Contains(e.X, e.Y)) { Application.Exit(); } }这样看看. 4楼。我的意思是鼠标移到那个图片上的时候不是关闭,是换一张图片。。就像QQ那样子的。移到关闭的图片上就变成红色图片。我做的界面就和QQ差不多的。 private void Form1_MouseMove(object sender, MouseEventArgs e) { if (closeRecangle.Contains(e.X, e.Y)) { // Use Graph 1 } else { // use graph 2 } } 注意这个里是MouseMove事件...不是 MouseUp了private void Form1_MouseMove(object sender, MouseEventArgs e) { Graphics _Graphis = Graphics.FromHwnd(this.Handle);if (closeRecangle.Contains(e.X, e.Y)) { _Graphics.DrawImage(???,closeRecangle);} else{ _Graphics.DrawImage(this.closeImage,closeRecangle);}} namespace CSharpForm{ public partial class CloseButton : UserControl { public CloseButton() { InitializeComponent(); } private bool _mouseHover = false; private void CloseButton_Paint(object sender, PaintEventArgs e) { if (_mouseHover) // Draw graph 1 else // Draw graph 2 } private void CloseButton_MouseLeave(object sender, EventArgs e) { _mouseHover = false; this.Refresh(); } private void CloseButton_MouseEnter(object sender, EventArgs e) { _mouseHover = true; this.Refresh(); } }} 求个sql语句 datagridview怎么样删除行! C# 调用excel中的宏 C#---怎么找到目录下的文件 一个简单的更新数据库问题,请教!急! 图片新闻交互的例子 关于用c#编写视频音频捕捉程序,用过DirectShow.NET或者对.NET里面调用Com很熟悉的朋友请进 请问各位兄弟,如何限制web下的datagrid中的出生年月列数据格式,谢谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 如何反编译.net的dll? iTextSharp 控件如何把文字转为矢量图 怎么提取这样的字符串12*36=2 c# 调用c++ dll的疑难问题!
在Mouse里使用if(_Rectangle.Contains(e.x,e.y))
{
//关闭..
}
非常感谢。
public void DrawClose(Graphics g)
{
Rectangle closeRecangle = new Rectangle(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop, this.closeImage.Width, this.closeImage.Height);
using (TextureBrush sb = new TextureBrush(this.closeImage))
{
sb.TranslateTransform(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop);
g.FillRectangle(sb, closeRecangle);
}
}这是我绘制的关闭图片。
mouseenter事件要写在哪里呢?
或者用MouseMove时间写要怎么写啊?
public void DrawClose(Graphics g)
{
closeRecangle = new Rectangle(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop, this.closeImage.Width, this.closeImage.Height);
using (TextureBrush sb = new TextureBrush(this.closeImage))
{
sb.TranslateTransform(tt3.Left - this.closeImage.Width - systemMenuSplitWidth, tt3.Y + systemMenuTop);
g.FillRectangle(sb, closeRecangle);
}
} private Rectangle closeRecangle; private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (closeRecangle.Contains(e.X, e.Y))
{
Application.Exit();
}
}这样看看.
就像QQ那样子的。
移到关闭的图片上就变成红色图片。
我做的界面就和QQ差不多的。
{
if (closeRecangle.Contains(e.X, e.Y))
{
// Use Graph 1
}
else
{
// use graph 2
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Graphics _Graphis = Graphics.FromHwnd(this.Handle);if (closeRecangle.Contains(e.X, e.Y))
{
_Graphics.DrawImage(???,closeRecangle);
}
else
{
_Graphics.DrawImage(this.closeImage,closeRecangle);
}
}
{
public partial class CloseButton : UserControl
{
public CloseButton()
{
InitializeComponent();
} private bool _mouseHover = false; private void CloseButton_Paint(object sender, PaintEventArgs e)
{
if (_mouseHover)
// Draw graph 1
else
// Draw graph 2
} private void CloseButton_MouseLeave(object sender, EventArgs e)
{
_mouseHover = false;
this.Refresh(); } private void CloseButton_MouseEnter(object sender, EventArgs e)
{
_mouseHover = true;
this.Refresh();
}
}
}