vb点虐 不规则窗口 vb窗口布局

vb点虐 窗口位置

你的 Me.StartPosition =FormStartPosition.CenterScreen 写在哪的?

创新互联是一家以网络技术公司,为中小企业提供网站维护、网站设计、成都做网站、网站备案、服务器租用、空间域名、软件开发、成都小程序开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站联系热线:13518219792

写在Form_Load事件里是不起作用的(也不叫不起作用,只是那个时候窗体已经不算Start了),一般代码是这样写,在Form1中的某个地方

Dim frm As New Form2

frm.StartPosition =FormStartPosition.CenterScreen

frm.ShowDialog()

如果你一定要在Form2中通过代码设置,可以把Me.StartPosition =FormStartPosition.CenterScreen移到Form2的构造函数中。

vb点虐 在打开模式窗口的情况下怎么使用其他窗口

dim f2 as new from2

f2.show()

' "在没有关闭它之前是用不了其他窗口的" 什么意思?

怎么用VB/VB点虐 /C#修改一个其他程序的窗口的边框样式?

  private const int GWL_STYLE = (-16);

  private const int GWL_EXSTYLE = (-20);

  private const uint WS_EX_LAYERED = 0x80000;

  private const uint WS_EX_TRANSPARENT = 0x20;

  private const uint WS_THICKFRAME = 262144;

  private const uint WS_BORDER = 8388608;

/// summary使指定 「 see cref="IntPtr"/ 句柄」 窗体 边框样式变为无边框。/summary

  public static uint 无边框窗体(IntPtr 句柄) {

      uint style = API_窗口.GetWindowLong(句柄, GWL_STYLE);

      style = ~WS_BORDER;

      style = ~WS_THICKFRAME;

      return API_窗口.SetWindowLong(句柄, GWL_STYLE, style); ;

  }

API窗口静态类

  [DllImport("user32", EntryPoint = "SetWindowLong")]

  public static extern uint SetWindowLong(IntPtr hwnd, int nIndex, uint dwNewLong);

  [DllImport("user32", EntryPoint = "GetWindowLong")]

  public static extern uint GetWindowLong(IntPtr hwnd, int nIndex);

修改窗口位置

/// summary

  /// 设置窗体的位置和大小。

  /// /summary

  /// param name="hWnd"/param

  /// param name="hWndInsertAfter"用于标识在z-顺序的此 CWnd 对象之前的 CWnd 对象。

  /// para/para如果uFlags参数中设置了SWP_NOZORDER标记则本参数将被忽略。可为下列值之一:

  /// para/paraHWND_BOTTOM:值为1,将窗体置于Z序的底部。如果参数hWnd标识了一个顶层窗体,则窗体失去顶级位置,并且被置在其他窗体的底部。

  /// para/paraHWND_NOTOPMOST:值为-2,将窗体置于所有非顶层窗体之上(即在所有顶层窗体之后)。如果窗体已经是非顶层窗体则该标志不起作用。

  /// para/paraHWND_TOP:值为0,将窗体置于Z序的顶部。

  /// para/paraHWND_TOPMOST:值为-1,将窗体置于所有非顶层窗体之上。即使窗体未被激活窗体也将保持顶级位置。/param

  /// param name="x"窗体新的x坐标。如hwnd是一个子窗体,则x用父窗体的客户区坐标表示/param

  /// param name="y"窗体新的y坐标。如hwnd是一个子窗体,则y用父窗体的客户区坐标表示/param

/// param name="Width"指定新的窗体宽度/param

/// param name="Height"指定新的窗体高度/param

  /// param name="wFlags"/param

  /// returns/returns

  [DllImport("user32.dll", CharSet = CharSet.Ansi, EntryPoint = "SetWindowPos")]

  public static extern int SetWindowPos(IntPtr hWnd, hWndInsertAfter hWndInsertAfter, int x, int y, int Width, int Height, wFlags wFlags);

  /// summary

  /// 调整指定 「 see cref="IntPtr"/ 句柄」 窗体的位置和尺寸。

  /// /summary

  /// param name="句柄"指定 「 see cref="IntPtr"/ 句柄」 窗体/param

  /// param name="x"横坐标/param

  /// param name="y"纵坐标/param

  /// param name="w"宽/param

  /// param name="h"高/param

  public static int 调整窗体(IntPtr 句柄, int x, int y, int w, int h) {

      return API_窗口.SetWindowPos(句柄, 0, x, y, w, h, wFlags.SWP_NOZORDER);

  }

  /// summary

  /// 调整指定 「 see cref="IntPtr"/ 句柄」 窗体的位置。

  /// /summary

  /// param name="句柄"指定 「 see cref="IntPtr"/ 句柄」 窗体/param

  /// param name="x"横坐标/param

  /// param name="y"纵坐标/param

  public static int 调整窗体位置(IntPtr 句柄, int x, int y) {

      return API_窗口.SetWindowPos(句柄, 0, x, y, 0, 0, wFlags.SWP_NOSIZE | wFlags.SWP_NOZORDER);

  }

VB怎么弄多个窗口

如果是VB.NET

那么可以直接从一个父窗体类继承,例如

Dim

NewFrm

as

New

Form1

NewFrm.Show

这样可以为一个窗体创建N个相同的子类,并且通过类的方法覆盖,可以与父类有所不同


当前名称:vb点虐 不规则窗口 vb窗口布局
文章源于:http://azwzsj.com/article/ddehich.html