首页 新闻 搜索 专区 学院

winform

0
悬赏园豆:5 [已解决问题] 解决于 2018-11-23 11:40

dgv中有一列为textbox,单击textbox列会弹出一个窗口,然后dgv显示数据,单击数据传回值到textbox,目前都可以实现,可是有个bug,第一次,第二次都可以成功传回去,然后第三次值回去了,但是显示不了,需要鼠标单击别的地方才会显示正确值

流静水深的主页 流静水深 | 初学一级 | 园豆:175
提问于:2018-10-29 15:13
< >
分享
最佳答案
0

设置Text之类的属性 是会使 控件发生(特定区域)绘制。你只说值,那么值跟你所谓显示是何种关系无法甄别。
根据以上现象判断,在绘制前卡壳了。
可能可以解决的方法:重新赋值Text属性;如果设置无效那么使TextBox重绘。
通常只需第一步。

收获园豆:5
花飘水流兮 | 专家六级 |园豆:13287 | 2018-10-30 13:53

可能我没有描述清楚,textbox其实是指datagridview里面的DataGridViewTextBoxColumn列,是否我要重绘DataGridViewTextBoxColumn列呢,目前我是将值传回来一次显示后我强制程序按下enter键到下一行,就是可能用户体验没那么好

流静水深 | 园豆:175 (初学一级) | 2018-10-30 14:01

@流静水深: 我管你哪里来的,你能点击就不会没有sender发射器参数。弹窗直接通过sender设置都就搞定了。

花飘水流兮 | 园豆:13287 (专家六级) | 2018-10-30 14:11

@花飘水流兮: 父窗体为datagridview的CellClick事件设置的固定列点击弹出子窗体,值为子窗体当中点击datagridview中行传回父窗体的(2个窗体都有datagridview),sender怎么操作还是不太明白,用sender也只可以在子窗体获取到我要传回去的值啊,问题是值我本来就取到了,只是赋值父窗体datagridview中DataGridViewTextBoxColumn列值时多次就不改变了(经验不足,请见谅)

流静水深 | 园豆:175 (初学一级) | 2018-10-30 14:46

@流静水深:
以上截图为猜测你写的方式,做个简单测试。

方法1直接改数据;

方法2没写完,直接F1 Cell类Value;派生类可能对应不同属性。

花飘水流兮 | 园豆:13287 (专家六级) | 2018-10-30 15:54

@花飘水流兮: 第一个为父窗体,传值是用的委托

流静水深 | 园豆:175 (初学一级) | 2018-10-30 16:17
其他回答(1)
0

textbox.fresh()一下,或者paint什么的

猝不及防 | 园豆:2529 (老鸟四级) | 2018-10-29 17:16

可能我没有描述清楚,textbox其实是指datagridview里面的DataGridViewTextBoxColumn列

支持(0) 反对(0) 流静水深 | 园豆:175 (初学一级) | 2018-10-30 09:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册