Winform Focus()函数不起作用 解决办法

private void Form_Load(object sender, EventArgs e)

{

this.txtName.Focus();

}

光标到不了txtName。可能的原因 TabIndex不是本窗体中最小的,应该是从1开始,如果设置为0也不正确。

解决方法

1、Form_Load中实现

设置TabIndex,将其设置为一个本窗体最小值,一般为1. 如果还不行则用其它函数:

(1)txtName this.ActiveControl = txtName;

可以得到焦点但是其上的内容全被选中。

(2)this.txtName.Select();

2、Activated方法中实现:

this.txtName.Focus();

小知识:

在WinForm中,TabIndex与“层”有关,假如有两个panel,panel1(里面有txtName,txtPassword)和Panel2(txtAddress,txtunit),TabIndex的顺序是首先在最外层(panel)选取index最小的控件,然后把光标定位到该panel中tabindex最小的控件上。

Focus() 方法的用法。

主要与他的使用位置有关。控件的Focus()与enable和visible有关,在Form_Load中,该控件的visible属性不一定为true,所以,这个时候设置focus()不能成功。

原文地址:https://www.cnblogs.com/ShaYeBlog/p/10588186.html

时间: 2024-11-06 23:16:11

Winform Focus()函数不起作用 解决办法的相关文章

winform 可拖动无边框窗体解决办法

方法一:通过重载消息处理实现. 鼠标的拖动只对窗体本身有效,不能在窗体上的控件区域点击拖动 /// <summary> /// 通过重载消息处理实现.重写窗口过程(WndProc),处理一些非客户区消息(WM_NCxxxx), /// C#中重写窗口过程不用再调用SetWindowLong API了,直接overide一个WndProc就可以了,不用声明api函数 /// 鼠标的拖动只对窗体本身有效,不能在窗体上的控件区域点击拖动 /// </summary> /// <pa

mysql导入数据库中的存储过程和函数出现错误的解决办法

mysql导入数据库中的存储过程和函数出现错误的解决办法 调用一个远程拷贝的本地Mysql的储存过程 报错:[Err] 1449 - The user specified as a definer ('repl'@'192.168.1.%') does not exist  解决想法: 凭借以前经常见到的[email protected]报错,给root赋值所有权限: grant all privileges on *.* to [email protected]"%" identif

远程桌面,身份验证错误:要求的函数不正确等解决办法

windows版本10.0.17134,安装最新补丁后无法远程windows server 2008.2013.2016服务器 报错信息如下:出现身份验证错误,要求的函数不受支持  可能是由于CredSSP加密Oracle修正. 微软给出解决方案: https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 2018 年 5 月 8 日 将默认设置从"易受攻击&q

gitignore不起作用解决办法

前面有文章介绍了使用gitignore文件的方法,该文件表示过滤规则,但是对已经加入版本库的文件不能生效,因此需要利用命令将想要忽略的文件从版本库中删除,比如说,我们对android工程进行跟踪,结果法相.class和R.文件每次都会有差异,实际上这些系统生成文件不需要追踪,于是我们写了ignore文件去排除跟踪这些文件(具体写法前面文章有介绍),但是在git status的时候还是会追踪这些,因为之前这些文件已经加入到版本库中了. 以下给出解决办法: git rm -r --cached .

eCos系统无法正确链接到在C++源文件中自定义的cyg_user_start函数的问题和解决办法

在C++源文件中定义cyg_user_start函数前,将其声明成C函数,即可解决问题. eCos官网:http://ecos.sourceware.org eCos中文技术网:http://www.52ecos.net eCos交流QQ群:144940146. http://blog.csdn.net/zoomdy/article/details/39396085 mingdu.zheng<at>gmail<dot>com 问题: 在C++源文件中定义cyg_user_start

codeblocks 多线程 pthread_create 函数未定义引用 解决办法

出现这种情况 要么函数名字写错 要么就是找不到定义函数的文件,在linux下面的多线程 pthread不是默认到库 需要自己链接下. 1. 可以在终端 编译: gcc pthread.c -lpthread -o pthread 2.可以在IDE 下面配置: Setting -> Compiler and debugger -> Linker Setting 根据自己的库的位置:ubuntu 12.04位置 可解决!

virtualBox 虚拟机下nginx设置不缓存静态文件不起作用解决办法

最近开发的时候,调整js时会一直使用缓存文件,无法显示改动!nginx配置静态文件add_header Cache-Control no-cache;也不起作用,很苦恼! nginx配置代码:events { worker_connections 768; # multi_accept on;} http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types

SQL中SUM函数返回NULL的解决办法

1.oracel:使用NVL()函数: select nvl(sum(num),0) from table 2.mysql:使用IFNULL()函数 select ifnull(sum(num),0) from table

关于SQL语句中SUM函数返回NULL的解决办法

SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如下面的方法来处理: SELECT COALESCE(SUM(name),0) FROM person WHERE id > 0   行了,这下就不用费事去处理返回结果是否为NULL的情况了. COALESCE 函数的意思是返回参数列表中第一个为空的值,该方法允许传入多个参数,该函数也是SQL中的标准