vb.net 怎么让一个窗体始终在最前面

时间:2022-11-16 00:28:00
vb.net 怎么让一个窗体始终在最前面
网上说的调用api没有用,有人知道怎么设置吗?

25 个解决方案

#1


Dim A as new FormA()
A.ShowDialog()

#2


我这里是有父窗体的!

#3


myTopForm.TopMost = True

#4


这个也没有用!如果有两个窗体的时候,点另一个窗体,这个topform还是被遮住了

#5


如果有多个TopMost窗体的话,哪个具有焦点哪个就在最前面

#6


绝对不会被别的窗体遮住的窗体是不存在的~

#7


我其他的窗体的topmost都是设置为false的.我要的效果是记事本里面不是有一个查找替换那个窗体吗?点其他的地方他不会躲到后面去

#8


不相信的话你打开记事本,点那个查找替换,看看那个窗体是不是我说的效果

#9


Dialog对话框就可以了

#10


本来是mytopfrom.show
mytopfrom.dialog()
这样也不能啊!还是一样,有两个窗体的话,点另一个窗体还是被遮住了
我真昏了!

#11


调用它的时候直接使用ShowDialog(),可以的,你试试

#12


是像我那样吗?
mytopform.showdialog()吗?
这样不行

#13


我其他的窗体的topmost都是设置为false的.我要的效果是记事本里面不是有一个查找替换那个窗体吗?点其他的地方他不会躲到后面去

就是说窗体要在最前面,焦点可以交给其他窗体?

#14


是啊  焦点可以在别的窗体上

#15


见鬼了,楼主你再仔细检查一下属性有没有弄错

#16


form.topmost=true 也用了.但是没作用
form.showdialog() 也用了,也没有作用

#17


就是啊,你的父窗体要调用子窗体,不是要dim mytopform AS new topform   然后使用mytopform.showdialog(),怎么可能不是始终在最前端呢,我都试过了的

#18


楼长的意思 应该是所有窗口 的最前面

#19


topmost属性全部为false。然后showdialog,确定一定以及肯定

#20


包括不是程序里的窗口?。。。。这。。。。。好吧,我承认我理解的不全面

#21


个人做的小测试,如下:(看需求对否)
Form A 中,一个TEXTBOX1 和 BUTTON1
Form B 中,一个TEXTBOX2 和 BUTTON2

首先在B中定义
        Public oF As FORMA
并设置B的属性TOPMOST=TRUE
点击button1 :        
        Dim f As New FormB
        f.oF = Me
        f.Show()
点击Button2:(B悬浮的过程中可以对FORMA进行操作)
        oF.TextBox1.Text = Me.TextBox1.Text

#22


基本上是查找替换的那种功能哈~

#23


首先,你如果要达到记事本的效果的话,你要注意一点,记事本不是父子窗体的关系,记事本在非最大化的情况下,查找替换窗体是可以移出记事本的范围的。
不过效果可以达到。
窗体:Form1和Form2(Form2也就是你说的子窗体)
以下代码应在Form1中:
Dim f As New Form2
f.TopMost = True
f.Show()
至于是点击按钮还是Ctrl+F就由LZ自己决定了
刚才试过了,可以达到记事本的效果

#24


很久没用这功能了,记得是设置form2.parent=me
这样form2就和文本软件中的查找替换窗口一样是总在最前的,但主界面是不影响输入的

#25


刚好用到.Focus()

#1


Dim A as new FormA()
A.ShowDialog()

#2


我这里是有父窗体的!

#3


myTopForm.TopMost = True

#4


这个也没有用!如果有两个窗体的时候,点另一个窗体,这个topform还是被遮住了

#5


如果有多个TopMost窗体的话,哪个具有焦点哪个就在最前面

#6


绝对不会被别的窗体遮住的窗体是不存在的~

#7


我其他的窗体的topmost都是设置为false的.我要的效果是记事本里面不是有一个查找替换那个窗体吗?点其他的地方他不会躲到后面去

#8


不相信的话你打开记事本,点那个查找替换,看看那个窗体是不是我说的效果

#9


Dialog对话框就可以了

#10


本来是mytopfrom.show
mytopfrom.dialog()
这样也不能啊!还是一样,有两个窗体的话,点另一个窗体还是被遮住了
我真昏了!

#11


调用它的时候直接使用ShowDialog(),可以的,你试试

#12


是像我那样吗?
mytopform.showdialog()吗?
这样不行

#13


我其他的窗体的topmost都是设置为false的.我要的效果是记事本里面不是有一个查找替换那个窗体吗?点其他的地方他不会躲到后面去

就是说窗体要在最前面,焦点可以交给其他窗体?

#14


是啊  焦点可以在别的窗体上

#15


见鬼了,楼主你再仔细检查一下属性有没有弄错

#16


form.topmost=true 也用了.但是没作用
form.showdialog() 也用了,也没有作用

#17


就是啊,你的父窗体要调用子窗体,不是要dim mytopform AS new topform   然后使用mytopform.showdialog(),怎么可能不是始终在最前端呢,我都试过了的

#18


楼长的意思 应该是所有窗口 的最前面

#19


topmost属性全部为false。然后showdialog,确定一定以及肯定

#20


包括不是程序里的窗口?。。。。这。。。。。好吧,我承认我理解的不全面

#21


个人做的小测试,如下:(看需求对否)
Form A 中,一个TEXTBOX1 和 BUTTON1
Form B 中,一个TEXTBOX2 和 BUTTON2

首先在B中定义
        Public oF As FORMA
并设置B的属性TOPMOST=TRUE
点击button1 :        
        Dim f As New FormB
        f.oF = Me
        f.Show()
点击Button2:(B悬浮的过程中可以对FORMA进行操作)
        oF.TextBox1.Text = Me.TextBox1.Text

#22


基本上是查找替换的那种功能哈~

#23


首先,你如果要达到记事本的效果的话,你要注意一点,记事本不是父子窗体的关系,记事本在非最大化的情况下,查找替换窗体是可以移出记事本的范围的。
不过效果可以达到。
窗体:Form1和Form2(Form2也就是你说的子窗体)
以下代码应在Form1中:
Dim f As New Form2
f.TopMost = True
f.Show()
至于是点击按钮还是Ctrl+F就由LZ自己决定了
刚才试过了,可以达到记事本的效果

#24


很久没用这功能了,记得是设置form2.parent=me
这样form2就和文本软件中的查找替换窗口一样是总在最前的,但主界面是不影响输入的

#25


刚好用到.Focus()