找回密码
 立即注册

QQ登录

只需一步,快速开始

村东智叟
初级会员   /  发表于:2021-5-21 16:24  /   查看:3180  /  回复:6
您好:
我想请教一个问题,
GRID内的单元格和GRID外的控件都保持选中的状态如何实现。
自己测试是无论在GRID中切换选择哪个单元格,GRID外的TEXTBOX一直是选中的状态


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

6 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-5-21 17:39:12
沙发
这个没有办法实现,Winforms控件本身就没有办法两个控件同时获取焦点,
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2021-5-24 09:18:32
板凳
Richard.Ma 发表于 2021-5-21 17:39
这个没有办法实现,Winforms控件本身就没有办法两个控件同时获取焦点,

挺奇怪的,寄存的系统(VB)是无论光标在哪个地方,只要输入数字,GRID外的textbox就可以获取到输入的数字。
自己也尝试了很多方法,一直在C#中实现不了。(现在是VB转C#)
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-5-24 09:44:57
地板
我看你说的实际需要的是“无论光标在哪个地方,只要输入数字,GRID外的textbox就可以获取到输入的数字”, 并不是要GRID内的单元格和GRID外的控件都保持选中

你可以详细描述一下目前的实际使用场景和需求,我帮你看看有没有办法实现?
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2021-5-24 10:03:55
5#
Richard.Ma 发表于 2021-5-24 09:44
我看你说的实际需要的是“无论光标在哪个地方,只要输入数字,GRID外的textbox就可以获取到输入的数字”,  ...

这个grid外的textbox的功能是,选择grid中的行。
比如,现在选中的是第4行,我输入一个3,然后按enter按键后,第三行会被选中。(蓝色的光标也会到第三行的同一列中)
即使是光标在grid中的单元格中,输入数字,grid外的textbox也可以获取到数字
grid外的textbox的状态一直就是选中的状态,背景色是橙色,有一个光标类似的东西。
回复 使用道具 举报
村东智叟
初级会员   /  发表于:2021-5-24 10:04:04
6#
Richard.Ma 发表于 2021-5-24 09:44
我看你说的实际需要的是“无论光标在哪个地方,只要输入数字,GRID外的textbox就可以获取到输入的数字”,  ...

这个grid外的textbox的功能是,选择grid中的行。
比如,现在选中的是第4行,我输入一个3,然后按enter按键后,第三行会被选中。(蓝色的光标也会到第三行的同一列中)
即使是光标在grid中的单元格中,输入数字,grid外的textbox也可以获取到数字
grid外的textbox的状态一直就是选中的状态,背景色是橙色,有一个光标类似的东西。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-5-24 11:36:26
7#
没有办法做到两个控件同时获得焦点,只能时在回车后,设置flexgrid选中单元格,并将焦点给flexgrid

在文本框选中时,通过在文本框的KeyPress事件中,可以去设置FlexGrid当前选中的行和列
  1.         private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
  2.         {
  3.             if(e.KeyChar== '\r')
  4.             {
  5.                 c1FlexGrid1.Row = int.Parse(textBox1.Text);
  6.                
  7.                 c1FlexGrid1.Focus();
  8.             }

  9.         }
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部