永发信息网

怎么让Winfrom窗体加载时dataGridView失去行焦点

答案:3  悬赏:80  手机版
解决时间 2021-01-04 06:19
情况如下:
第一个窗体中有个跳转页面按钮,单击按钮后打开第二个窗体
第二个窗体中有一个dataGridView控件,并且在打开第二个窗体时就加载数据
还有一个textBox控件,当dataGridView行状态发生更改时则会将当前选定行的第一列的值传给textBox
dataGridView行状态更改的事件即:
dataGridView1_RowStateChanged
{
textBox1.Text = e.Row.Cells[1].Value.ToString();
}
问题就在于当加载第二个窗体时dataGridView1_RowStateChanged事件默认就会将dataGridView第一行选中,从而导致刚刚加载的时候就为textBox传值
我想要的效果是当第二个窗体加载时textBox控件为空,只有在我选定行的时候才去为textBox传值
帮帮我吧,查了不少资料都没有能解决这个问题的,高手指点下啊

要能解决问题的,别蒙人啊!一楼的,你那isLoad 变量有什么用啊,我就纳闷了
二楼说的方法我以前就试过了,也不行
最佳答案
我不知道你那个RowStateChanged事件是否同样适用于我这种情况,如果我是你我会选择用AfterSelect事件

我的做法是在打开第二个窗体加载数据之后写一句
dgvCustomerInfo.ClearSelection();

例如:

//从临时集合取数据
dgvCustomerInfo.DataSource = CompanyInfos;
//[ 默认不让选择一条数据]
dgvCustomerInfo.ClearSelection();

在AfterSelect事件中写
if(dgvCustomerInfo.SelectedIndex >= 0)
{
textBox1.Text = dgvPersonalInfo.SelectedRows[0].Cells[0].Value.ToString();
}
全部回答
其实至只需要做的是,第二个窗体加载的时候,textBox文本框获得焦点就可以了
private bool isLoad = false; private void Form2_Load(object sender, EventArgs e) { this.dataGridView1.Rows.Add("1", "1"); this.dataGridView1.Rows.Add("2", "2"); this.dataGridView1.Rows.Add("3", "3"); isLoad = true; } private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e) { if (isLoad) { textBox1.Text = e.Row.Cells[1].Value.ToString(); } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
静宁县气象局地址在什么地方?想过去办事
为什么ugui里建立两个按妞出现黄线
当己丑遇上戊戌会是什么样的一种情况?
北京到固安多长时间,北京到固安有多远,多少
单选题直线方程可表示成点斜式方程的条件是A.
LDS手机天线的前景如何?
运费险退款怎么查
2O17年废纸皮打包厂家回收多少钱一吨?
单选题两根长度不同,材料不同而电阻相等的导
那家小额贷款公司正规,我想贷15万元作经营用
韩国留学生毕业回国后可以享受哪些政策,超详
我要刻录音乐到CD。可是CD打开怎么这个样子?
小满是什么季节
宝马750和荣威750一样吗?
苹果电脑怎样关闭开机声音
推荐资讯
下列物质的用途中,主要利用其物理性质的是A.
电脑光线强度怎么调
1.8t的途安涡轮增压可以堵了不用吗
Only after you finish your homework TV.A.
数码相机如何使用红外滤镜?贴在镜头前就行了
在“探究加速度与力和质量关系的实验”中,一
明年上高二了,偏科有点严重,请问有没有对知
(1)我国民间有句谚语:“霜前冷,雪后寒.
婚礼上 新郎向新娘献花 司仪应该怎么说
单选题启蒙运动较之文艺复兴运动最主要的不同
excel增加按钮 增加指定行
某中学高二年级在探究本地文化发展战略时了解
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?