在datagridview里添加自定义控件列

1、定义一个控件如:commbox

  

  1. //定义下拉列表框、隐藏控件、在datagridview中添加控件  
  2.        private ComboBox datacmb=new ComboBox();  
  3.       datacmb.Visible = false;  
  4.       this.dataGridView1.Controls.Add(datacmb);  

 

 

2、添加datagridview的CurrentCellChanged事件

  

  1. private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)  
  2.         {  
  3.             try  
  4.             {  
  5.                 if (this.dataGridView1.CurrentCell.ColumnIndex == 4)  
  6.                 {  
  7.                     Rectangle rec = this.dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, false);  
  8.                     datacmb.Left = rec.Left;  
  9.                     datacmb.Top = rec.Top;  
  10.                     datacmb.Width = rec.Width;  
  11.                     datacmb.Height = rec.Height;  
  12.                     datacmb.Visible = true;                    
  13.                 }  
  14.                 else  
  15.                 {  
  16.                     datacmb.Visible = false;  
  17.                 }  
  18.             }  
  19.             catch  
  20.             {  
  21.                 //MessageBox.Show(ex.Message);  
  22.             }  
  23.         }  

 

 
posted @   Bruce-He  阅读(1776)  评论(1编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
成都共享办公室
点击右上角即可分享
微信分享提示