Foxtable(狐表)用户栏目专家坐堂 → 全局定义的窗体居中问题


  共有3782人关注过本帖树形打印复制链接

主题:全局定义的窗体居中问题

帅哥哟,离线,有人找我吗?
jnletao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
全局定义的窗体居中问题  发帖心情 Post By:2014/4/3 19:32:00 [只看该作者]

在全局中用VB.NET 定义一个启动窗体,结果怎么调都没法居中,

BeforeOpenProject
Dim frm As New FormReg
frm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
frm.TopMost = True '或 e.HideSplashForm = True
frm.ShowDialog() '模式打开


'Me.Top = (My.Computer.Screen.Bounds.Height - Me.Height) / 2 '绝对居中
'Me.Left = (My.Computer.Screen.Bounds.Width - Me.Width) / 2


用此方法 可以居中,不过启动时有 位移闪动!

代码都是从网上找到,实在找不到解决方法了,求老师们给指教下。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:0登录窗口vb.net自定义.zip


[此贴子已经被作者于2014-4-3 19:32:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/4/4 8:06:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/4 8:36:00 [只看该作者]

测试打开就在正中啊,没啥问题.
frm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
这句是很基本的代码,不应该会有问题的.

可能是你.net或者系统有问题也说不准.你换台电脑测试一下看看.

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/4/4 8:50:00 [只看该作者]

全局 里的 代码 在VB.NET  预览居中也是正常的,就是 放在 BeforeOpenProject  里不居中了

Dim frm As New LoginWindow
frm.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen 
frm.ShowDialog() '模式打开



图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140404084550.png
图片点击可在新窗口打开查看

如果用这段代码
Dim frm As New LoginWindow
frm.Top = (My.Computer.Screen.Bounds.Height - frm.Height) / 2 '绝对居中
frm.Left = (My.Computer.Screen.Bounds.Width - frm.Width) / 2
frm.ShowDialog() '模式打开


在foxtable打开也是居中,不过有位移闪动,好像是 重新调整了一下位置。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 11:21:00 [只看该作者]

把你的 LoginWindow_Load 事件换成

 

Public Sub New()

 

End Sub

 

原因查看form的启动时事件执行顺序


 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/4/4 13:10:00 [只看该作者]

谢谢有点甜老师,果真好了, 又学一招图片点击可在新窗口打开查看, 
 刚才我没找到办法,用的透明度切换模拟的。

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/4/4 13:27:00 [只看该作者]

有点甜老师,我想把我原来的 透明度渐变效果加进去,发现 采用 NEW()方法后 透明度不管了,请问如何解决?
Public Sub New()
MyBase.New()
'Private Sub LoginWindow_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim xml As New CSysXML("LoginSet.XML")
Dim Wwidth As Integer
Dim Wheight As Integer
Dim Xpos As Integer
Dim Ypos As Integer
Me.KeepName = New System.Windows.Forms.CheckBox
Me.CUserName = New System.Windows.Forms.ComboBox
Me.TPassWord = New System.Windows.Forms.TextBox
Me.BtnOk = New System.Windows.Forms.Button
Me.BtnCanel = New System.Windows.Forms.Button
Me.SuspendLayout()
………………
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None '无边框,不可移动
Me.BackgroundImage = Image.FromFile(Fwinbg)
Me.Icon = New System.Drawing.Icon(ProjectPath & "images\Users32.ico")
Me.Name = "LoginWindow"
Me.Opacity = 0
Me.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds 'System.Windows.Forms.FormStartPosition.CenterScreen
Me.Top = (My.Computer.Screen.Bounds.Height - Me.Height) / 2 '绝对居中
Me.Left = (My.Computer.Screen.Bounds.Width - Me.Width) / 2
Me.Text = "登录"
Me.TopMost = True
Dim I As Double
For I = 0.01 To 1 Step 0.01
    Me.Opacity = I
    System.Windows.Forms.Application.DoEvents()
    System.Threading.Thread.Sleep(5)
Next
Me.Opacity = 1
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub
Friend WithEvents KeepName As System.Windows.Forms.CheckBox
……………………



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/4 14:00:00 [只看该作者]

 new() 构造方法,用来初始化窗口数据

 

 load() 事件,用来对窗口外观等修改。

 

 启动过程中......还有其他事件,建议找相关资料看一下


 回到顶部