189 8069 5689

vb.net无边框 vb有边框

VB.net怎样按住鼠标移动无边框窗体

当用户按下左键时,为按下对象的MouseMove事件绑定处理方法,并记录鼠标坐标(窗体左上角为原点,在事件的MouseEventArgs类型的e参数中提供)。此时用户移动鼠标,保持窗体原点与鼠标新坐标的相对位置不变。当用户释放左键时,撤销按下对象的MouseMove事件处理方法

我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站制作、做网站服务,我们努力开拓更好的视野,通过不懈的努力,创新互联公司赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,成都小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。

vb.net 无边框窗体的问题

设置窗体的text为空,设置窗体的controlbox属性为false,设置窗体的FormBorderStyle 属性为Sizable,就可以改变窗体大小了,并且可以在任务栏点击。

VB.NET里面要使无边框的窗体有阴影该怎么做

调用系统API使窗体下拥有阴影效果

using System.Runtime.InteropServices;

然后再窗口类的随便哪个地方加上:

const int CS_DROPSHADOW = 0x20000;

const int GCL_STYLE = (-26);

//声明Win32 API

[DllImport("user32.dll", CharSet = CharSet.Auto)]

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

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int GetClassLong(IntPtr hwnd, int nIndex);

最后在窗体的构造函数中加上:

SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DROPSHADOW);

Vb.net 无边框窗体如何实现四周阴影? 网上搜到的都是两边阴影的,我需要四周阴影

设置全局变量:

Dim drag As Boolean

Dim mousex As Integer

Dim mousey As Integer

假设你想拖动的是Panel1控件,以及此控件上的 Label1(用于显示标题)和PictureBox4(用于显示图标):

Private Sub TitleMove_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown, Label1.MouseDown, PictureBox4.MouseDown

drag = True

mousex = Windows.Forms.Cursor.Position.X - Me.Left

mousey = Windows.Forms.Cursor.Position.Y - Me.Top

End Sub

Private Sub TitleMove_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove, Label1.MouseMove, PictureBox4.MouseMove

If drag Then

Me.Top = Windows.Forms.Cursor.Position.Y - mousey

Me.Left = Windows.Forms.Cursor.Position.X - mousex

End If

End Sub

Private Sub TitleMove_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseUp, Label1.MouseUp, PictureBox4.MouseUp

drag = False

End Sub

怎么用VB/VB.net/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.net无边框 vb有边框
分享网址:http://jkwzsj.com/article/hisjoi.html

其他资讯