如题,请问winform中,如果改变ContextMenuStrip鼠标经过后,的背景颜色
解决方案 »
- 自己没事写了个自己不断切换背景色的Label控件(重载的系统的Label),就是给控件添加个线程,不断切换背景,求优化方法,或者更好的方法,谢谢
- winform布局的一个问题
- 请教浏览器对URL的处理,为什么post前后会有所不同。。
- 用循环来证明for和foreach到底哪个快?
- QC数据读取问题
- 一道简单的C#变量问题
- 关于向Sqlserver数据库添加数据的问题
- 字符串转换问题。
- 如何实现对某个目录的监控,检测到在目录中创建和删除文件,请高手帮忙!谢谢!
- 有两个问题:希望那位大虾帮忙解决一下!
- C# 编写exe程序管理器!!!
- webBrowser控件编写的应用程序无法显示含有wmp控件的视频网页???
ContextMenuStrip1.RenderMode = ToolStripRenderMode.Professional
这样就会使用ToolStripProfessionalRenderer来绘制ToolStrip。2.从ProfessionalColorTable派生一个自己的颜色表,按需重写其成员(都是只读属性)
public class MyColorTable : ProfessionalColorTable
{
public override System.Drawing.Color MenuItemSelected {
get { return Color.Red; }
}
}
ToolStripProfessionalRenderer使用一个颜色表(ProfessionalColorTable)来保存它需要用到的颜色。只要从这个ProfessionalColorTable派生自己的颜色表并使用这个自己的颜色表就可以更改render使用的颜色了。
3.使用派生的颜色表构造ToolStripProfessionalRender对象并应用到ToolStrip上
ContextMenuStrip1.Renderer = New ToolStripProfessionalRenderer(New MyColorTable)如果你想把这个自定义的颜色表用到所有Toolstrip上,可以逐一设置它们的Render和RenderMode或者把RenderMode改成ManagerRenderMode,然后在ToolstripManager上统一设置。如果需要更高级的自定义,可以继承ToolStripProfessionalRenderer,重写相关方法(并把它应用到toolstrip上)。
private void dataGridView1_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e)
{
if(e.RowIndex>=0)
{
if (e.RowIndex != -1 && e.ColumnIndex != -1)
{
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
}
}
}
//鼠标离开
private void dataGridView1_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
if(e.RowIndex != -1 && e.ColumnIndex != -1 )
{
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.WhiteSmoke;
}
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
}
private void dataGridView1_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e)
{
if(e.RowIndex>=0)
{
if (e.RowIndex != -1 && e.ColumnIndex != -1)
{
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
}
}
}
//鼠标离开
private void dataGridView1_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
if(e.RowIndex != -1 && e.ColumnIndex != -1 )
{
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = System.Drawing.Color.WhiteSmoke;
}
this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
}