请问怎么用C# WinForm开发类似微软的按钮控件,鼠标移到上面突出效果,并显示颜色,离开恢复正常。

作者&投稿:独枯 (若有异议请与网页底部的电邮联系)
当鼠标移上去c#代码为button设置背景色,移开后怎么恢复原有状态~

很遗憾,如果你非要这样做。你必须使用异步技术。
你可以使用.net ajax框架中的updatePanel去实现.
或者使用前台的脚本.
更多的我推荐你去用前台脚本去实现该功能。

在 button控件上-右键-属性-找到事件(黄色小闪电)-找到MouseEnter事件,双击进去.在生产的代码框中输入
private void button_MouseEnter(object sender, EventArgs e)
{
buttion.Size.Width = 300;
buttion.Size.Height= 300;
}

最简单的办法,修改Program.cs代码如下:
using System;
using System.Windows.Forms;

namespace RR
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form f = new Form();
Button btn = new Button();
btn.MouseMove += (e, v) => { btn.BackColor = System.Drawing.Color.Green; };
btn.MouseLeave += (e, v) => { btn.BackColor = System.Drawing.Color.White; };
f.Controls.Add(btn);
Application.Run(f);
}
}
}

如果想多次使用,则是一下步骤
首先建议类文件,代码如下:

using System.Windows.Forms;

namespace RR
{
public class MyButton:Button
{
public MyButton()
{
MouseMove += (e, v) => { BackColor = System.Drawing.Color.Green; };
MouseLeave += (e, v) => { BackColor = System.Drawing.Color.White; };
}
}
}

再新建一个窗体,编译一次以后,再工具箱里找到这个叫MyButton的控件拖到窗体上,或者直接在Program.cs里将代码修改如下:

using System;
using System.Windows.Forms;

namespace RR
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form f = new Form();
f.Controls.Add(new MyButton());
Application.Run(f);
}
}
}
run一下,就能看到效果!

private void button1_MouseMove(object sender, MouseEventArgs e)
{
this.button1.BackColor = System.Drawing.Color.Red;
}

private void button1_MouseLeave(object sender, EventArgs e)
{
this.button1.BackColor = this.BackColor;
}
突出效果可以尝试一下做一个背景图片试试。

按钮是有“鼠标进入”和“鼠标移出”事件的,VS有中文提示,可以找到这两个事件。
在第一个事件中将按钮设置成你想要的颜色样式,后一事件中改回原来的样式就OK

1.silverlight是个不错的选择
2.纯程序的话捕捉鼠标位置获取控件对象判断相同位置改变控件的背景或者边框样式 这些都是控件的属性在属性栏里可以看到的都能够调用出来并赋予值 但是某些属性值是只读的或者是枚举这个要注意

楼上说的都挺好


问:怎样用C语言获系统登录用户名???
你自己说的用C语言实现的,加什么命令行呢?命令行是dos的范畴.如果您的意思是加一个函数吧,我的答案就是了.太老了?难道在您的系统上不能用么?ExpandEnvironmentStrings("%USERNAME%",str,nSize); 获得的是系统自定义字符串%USERNAME%的内容吧,和真正的系统用户名还不是很一样啊.比如可以进入系统属...

如何用C语言完成这个问题 一个球从100米的高处自由落下,触地后反弹到...
C语言代码如下:include<stdio.h> int main() { double d = 100; \/\/ 皮球在空中经过的距离,第一次落地时为100m double h = 50; \/\/ 皮球反弹的高度,第一次反弹后为50m int i, n;scanf("%d", &n);for (i = 2; i <= n; i++) { \/\/ 从第二次落地开始 d += h * 2; ...

C语言中怎么实现一问一答
1.比如输入你叫啥,程序内设个判断,是 你叫啥 就输出张三 2.人工智能,这玩意就复杂了,不过对于这个问题不算难,用正则表达式

我想问一下用C语言写大数乘法有什么方法可以计算呢?可以由什么想这个计...
大数乘以小数,得到大数。大数加大数,得到大数。对于1,其实就是int数组的每个元素存储若干位。比如每个元素保存4个十进制位。[0]存储个十百千,[1]存储万、十万、百万、千万,诸如此类。一个数组保存一个大数。因此需要一个额外的int变量记录当前数组用了多少个元素(类似于字符串长度)。对于2,“小...

求问单片机如何用c语言来设置I\/O口,使I\/O口进入到输入或输出模式...
可以这么考虑!单片机的IO口缺省时一般都是双向,既可以是输入又可以是输出,C语言中判断这个口是输入还是输出要看表达式的形式,比如:sbitkey=P1^0;if(key==1)...这里是作为输入的,因为是读入,再判断值

...的几个用C语言写的恶搞代码,我想问一下那个怎么用?复制到什么里面...
void main(){ int n;do { printf("Input n:\\n");scanf("%d",&n);}while(n>99999);daoxu(n);} void daoxu(int n){ int a,i=0,count=0;int b[10];while(n!=0){ a=n%10;n=n\/10;count++;b[i]=a;i++;printf("%d",a);} printf("\\n");printf("该数为%d位数\\n...

想问一下C语言的应用领域有哪些
(1)应用软件。Linux操作系统中的应用软件都是使用C语言编写的,因此这样的应用软件安全性非常高。(2)对性能要求严格的领域。一般对性能有严格要求的地方都是用C语言编写的,比如网络程序的底层和网络服务器端底层、地图查询等。(3)系统软件和图形处理。C语言具有很强的绘图能力和可移植性,并且具备...

如何用C语言编写这样一个程序:先问 你是? 然后当输入“小明”时,就输出...
include<stdio.h>#include<string.h>void A(){puts("执行A函数");}void B(){puts("执行B函数");}int main(){ char answer[20]; printf("你是?"); scanf("%s" , answer) ; if( 0 == strcmp (answer , "小明") ) { A(); } else if( 0 == strcm...

【C语言小白】求问如何用指针输入一组二维数组如a[3][4],就是在输入...
N 4 \/\/定义一个4列的二维数组,每一行的存储空间需要动态申请int main(){int *a[3]; \/\/声明3行的二维数组,现在是指针数组int i,j;for(i=0;i<3;i++){a[i]=(int *)malloc(N*sizeof(int));for(j=0;j<N;j++){scanf("%d",&a[i][j]);fflush(stdin);}}}\/\/望采纳 ...

怎样用C语言编写有问有问答的题目
先定义一个变量a保存答案,再定义一个变量b用来接收用户输入 用printf输出题目 再用scanf将用户输入的值保存到b中 再用if判断a与b的值:相等用printf输出对了,else 用printf输出错了

精河县15152563134: 如何用C#在WINFORM中,制作自定义的流程图或者是工作流 -
撒有龙骨: 应该很好做啊,最重要是对象层次结构的设计,这个问题要回答要用太多文字了.只能简单陈述了: 1.FlowChartDocument类,负责整个图形的载入,保存,显示,放大和缩小等等 2.FlowChartDocument类使用XML来存储整个图形; 3....

精河县15152563134: c#中winform的界面开发有哪些方法 -
撒有龙骨: 更改form的BackgroundImage属性.选中要操作的form控件,在属性选项卡中找到BackgroundImage属性,点击打开选择资源对话框,将要用到的背景图片导入到本地资源或项目资源.导入成功后选中背景图片,点击确定,即可完成form的背景图片的更换.

精河县15152563134: 如何用C#写一个透明控件?(WinForm程序) -
撒有龙骨: 首先先从System.Windows.Forms.Panel 继承一个自定义控件,然后在控件的构造函数中添加下面的代码 :SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.SupportsTransparentBackColor, true); this.BackColor = Color.Transparent...

精河县15152563134: c#控件 winform怎么使用 -
撒有龙骨: 在buttonA_Click里面加入: buttonB_Click(buttonB,new EventArgs());

精河县15152563134: 关于C#开发Winform程序的问题 -
撒有龙骨: 2种情况 1种比较简单 你实现做好一个表格 然后隐藏了 然后点按钮的时候 就显示出来2 这种比较难 就是动态添加 要用到C#里的 委托和事件 更新数据库 就是在重新连一次数据库就可以了 接分了

精河县15152563134: 用C#代码编写一个winform计算机 -
撒有龙骨: switch(op) { case "+": return x+y; case "-": return x-y; }op string类型 X,Y需要预先接收

精河县15152563134: 我要想学c# winForm开发
撒有龙骨: 我就是一直在做winform的开发,做winform首先要先懂语法. 如果你觉得自己的语法差不多了,第二步要做的就是熟悉开发工具. 你可以先熟悉Microsoft Visual Studio 2003,然后再熟悉2005, 这样的话你可以了解更多不同版本的工具之间的...

精河县15152563134: 如何使用C#编写获取机器人坐标的winform程序 -
撒有龙骨: private void Form1_Move(object sender, EventArgs e) { this.label1.Text = this.Location.X.ToString() + "," + this.Location.Y.ToString(); } 注意:Form1是窗体类名,label1是Form1窗体里面的一个Label控件,注意这个事件是Move事件,也就是窗口移动事件

精河县15152563134: 一个编辑器winform如何实现用c#简单点也行!
撒有龙骨: font对象都有字体样式的,有对象可以实现!51aspx看看

精河县15152563134: 请问怎么用C# WinForm开发类似微软的按钮控件,鼠标移到上面突出效果,并显示颜色,离开恢复正常.
撒有龙骨: private void button1_MouseMove(object sender, MouseEventArgs e) { this.button1.BackColor = System.Drawing.Color.Red; } private void button1_MouseLeave(object sender, EventArgs e) { this.button1.BackColor = this.BackColor; } 突出效果可以尝试一下做一个背景图片试试.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网