C# winform中,在form1中有两个textbox,想通过comboBox的SelectedIndexChanged事件
触发两个textbox边框更改颜色,例如combobox下拉框中有三种颜色,黑色、粉色和蓝色,我想选择其中一种颜色后,就可以触发两个textbox边框变色,我是一个新手,...
触发两个textbox边框更改颜色,例如combobox下拉框中有三种颜色,黑色、粉色和蓝色,我想选择其中一种颜色后,就可以触发两个textbox边框变色,我是一个新手,请大家指导一下,谢谢!
展开
展开全部
VS本身的textbox边框好像不能该颜色吧?不过有种较笨的方法可以实现,弄个panel,大小比textbox大一点(大多少代表textbox边框多大),背景颜色改成黑色(默认的话textbox会变透明),然后把textbox放在上面,textbox属性中的BorderStyle属性改成None,这样看起来就象panel有黑色边框,然后选中combox编辑项,分3行输入3种颜色,在创建combox的SelectedIndexChanged事件,事件代码:
if (comboBox2.Text == "蓝色")
{
panel1.BackColor = Color.FromName("blue");
}
if (comboBox2.Text == "粉色")
{
panel1.BackColor = Color.FromName("pink");
} if (comboBox2.Text == "黑色")
{
panel1.BackColor = Color.FromName("black");
}
if (comboBox2.Text == "蓝色")
{
panel1.BackColor = Color.FromName("blue");
}
if (comboBox2.Text == "粉色")
{
panel1.BackColor = Color.FromName("pink");
} if (comboBox2.Text == "黑色")
{
panel1.BackColor = Color.FromName("black");
}
展开全部
普遍的办法是重写textbox类--这个网上很多http://hi.baidu.com/542348257/blog/item/677258456b4a915b500ffe69.html,这个连接可以参考
你要做的就是把边框色的属性开放出来让你调用,比如叫bordercolor吧,当你给bordercolor赋值时,应调用一次textbox的refreash事件,这样就能随时改变颜色了。
然后combobox有selectedindexchanged事件,这个应该不用我介绍了
你要做的就是把边框色的属性开放出来让你调用,比如叫bordercolor吧,当你给bordercolor赋值时,应调用一次textbox的refreash事件,这样就能随时改变颜色了。
然后combobox有selectedindexchanged事件,这个应该不用我介绍了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-01-16
展开全部
- -!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询