给你个参考的例子,窗体打开时可能大小有变化,软件名可能有变化
十年的弥渡网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整弥渡建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“弥渡网站设计”,“弥渡网站推广”以来,每个客户项目都认真落实执行。
先加个控件ListBox1,运行后双击ListBox1上程序名
Public Class Form1
Public myProcess() As Process
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myProcesses() As Process = Process.GetProcesses()
Dim jh As New ArrayList
For Each bs As Process In myProcesses
If CInt(bs.MainWindowHandle) 0 Then
ListBox1.Items.Add(bs.ProcessName)
jh.Add(bs)
End If
Next
ReDim myProcess(jh.Count - 1)
jh.CopyTo(myProcess)
End Sub
Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Integer, ByVal nCmdShow As Long) As Integer
Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
Dim a As Process = myProcess(ListBox1.SelectedIndex)
Try
Dim dd = ShowWindow(a.MainWindowHandle, H1)
AppActivate(a.Id)
Catch ex As Exception
End Try
End Sub
End Class
最正统的方法是把textbox1的tabindex属性设为0(其他控件的tabindex不能是0)
要在load事件里用textbox1.focus()也可以,但要先me.show(),否则不会起作用。因为控件得到焦点需要控件”可见可用“,在formload阶段整个窗体是“不可见"的,需要强制使用me.show()。
一个时刻只有一个窗体能获得焦点。关键是窗体收到
WM_KILLFOCUS
消息时的重绘。如果你只是想让窗体看起来并没有什么不同,就这样吧。我用
VB6,所以写的都是
API,VB.NET
的库不是很熟,所以……将就一下吧。
调用
SetWindowLong,使窗体的消息处理链接到新的窗口函数
NewWndProc,然后在
NewWndProc
里检测到
WM_KILLFOCUS
时就将其移出消息队列即可。完毕之后调用原来的窗口函数。
不行吧,因为登陆的话,应该点击登陆按钮,然后焦点就跑到按钮上了,我觉得你应该判断哪个Textbox没有输入或是输入错误,然后提示这个输入错误,再让它获得焦点,没必要像你说的那样吧。我也新手,一起进步~
这样不好,应该使用 Table 键,按照 Table 键顺序来切换。因为回车往往用来确定你要按下页面的确定按钮。如果非要使用回车:
Private Sub 文本框按下回车键(sender As Object, e As KeyEventArgs) Handles TextBox3.KeyDown, TextBox2.KeyDown, TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then
Select Case sender.name
Case "TextBox1"
TextBox2.Focus()
Case "TextBox2"
TextBox3.Focus()
Case "TextBox3"
TextBox1.Focus()
End Select
End If
End Sub