如何将Form上的combobox控件位置移动到Cell上 在Form上有个 datagridview以及一个combobox控件,当我点击datagridview控件的某一单元格时,我想使用combobox,将这个Cell完全遮住,实现dataGridViewComboBoxColumn的效果,现在是在cell的onclick事件里头,将combobox的location 附上 当前光标的坐标值,无效,为何? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Data;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Text;using System.Windows.Forms;namespace MyNameSpace{ public partial class MainForm : Form { private ComboBox cmb_Temp = new ComboBox(); private void MainForm_Load(object sender, EventArgs e) { cmb_Temp.Visible = false; cmb_Temp.SelectedIndexChanged += new EventHandler(cmb_Temp_SelectedIndexChanged); this.dgv_User.Controls.Add(cmb_Temp); } private void dgv_User_CurrentCellChanged(object sender, EventArgs e) { try { if (this.dgv_User.CurrentCell.ColumnIndex == 2) { Rectangle rect = dgv_User.GetCellDisplayRectangle(dgv_User.CurrentCell.ColumnIndex, dgv_User.CurrentCell.RowIndex, false); cmb_Temp.Left = rect.Left; cmb_Temp.Top = rect.Top; cmb_Temp.Width = rect.Width; cmb_Temp.Height = rect.Height; cmb_Temp.Visible = true; } else { cmb_Temp.Visible = false; } } catch { } } private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e) { dgv_User.CurrentCell.Value = ((ComboBox)sender).Text; } private void dgv_User_Scroll(object sender, ScrollEventArgs e) { this.cmb_Temp.Visible = false; } }} 详细实现方法去看我写的文章:http://blog.csdn.net/Snowdust/archive/2006/12/31/1470521.aspx 怎么知道C#哪些函数和过程是没用的, 学C#有什么好的方法和书籍? win form dataGrid 显示问题,请大家来指教指教 快来加入 .NET 研究的群啊,群号: 8275276 ,不需要验证!!!!! 求一个正则表达式 xsd文件是用来干什么的?何时会使用到?与cs文件如何交互? 已会单个账户的模拟登陆及后续操作,如何实现多账户的批量模拟登陆及后续操作? 大量EXCEL表格数据写入sql数据库问题? WPF,这种数据绑定怎么写? [分享]Metro风格的RibbonFrom控件 怎么把decimal类型的转换成string类型?? 根据XSD生成XML
using System.Data;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace MyNameSpace
{
public partial class MainForm : Form
{
private ComboBox cmb_Temp = new ComboBox(); private void MainForm_Load(object sender, EventArgs e)
{
cmb_Temp.Visible = false;
cmb_Temp.SelectedIndexChanged += new EventHandler(cmb_Temp_SelectedIndexChanged);
this.dgv_User.Controls.Add(cmb_Temp);
} private void dgv_User_CurrentCellChanged(object sender, EventArgs e)
{
try
{
if (this.dgv_User.CurrentCell.ColumnIndex == 2)
{
Rectangle rect = dgv_User.GetCellDisplayRectangle(dgv_User.CurrentCell.ColumnIndex, dgv_User.CurrentCell.RowIndex, false);
cmb_Temp.Left = rect.Left;
cmb_Temp.Top = rect.Top;
cmb_Temp.Width = rect.Width;
cmb_Temp.Height = rect.Height;
cmb_Temp.Visible = true;
}
else
{
cmb_Temp.Visible = false;
}
}
catch
{
}
} private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e)
{
dgv_User.CurrentCell.Value = ((ComboBox)sender).Text;
} private void dgv_User_Scroll(object sender, ScrollEventArgs e)
{
this.cmb_Temp.Visible = false;
}
}
}
http://blog.csdn.net/Snowdust/archive/2006/12/31/1470521.aspx