重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
做一个窗体模板,假设是Form2
为济水街道等地区用户提供了全套网页设计制作服务,及济水街道网站建设行业解决方案。主营业务为成都做网站、网站设计、济水街道网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
Dim x as New Form2
x.Show()
如果弹出窗口较多,x可以用动态数组替代
用这个函数没错。
你的hwnd没有写清楚,这样hwnd是没定义的,要指定具体窗体的hwnd,如form1.hwnd
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, H80C0FF, 0, LWA_COLORKEY
中的hwnd参数,全部改成 me.hwnd ,即当前窗口的hwnd
设置Region属性:
Dim path As New System.Drawing.Drawing2D.GraphicsPath
path.AddEllipse(0, 0, 400, 300)
Region = New Region(path)
在VB.NET中,通过
窗体对象.ShowDialog()
启动窗体为“非模式“状态
两个显示器显示有两种模式,一种是
双屏
复制,另一种是扩展。
你这个只能用第二种方式。你需要把要在另一个显示器上显示的窗体的Location设置在主显示器全屏时的右边就可以了.其实就是桌面的向右延伸。
在主显示上拖一下窗体就明白了!
绘制和数据分离,就是说,Paint 事件永远是用来绘制的,具体绘制什么东西(也就是绘制的数据,如半径为4的圆),有数据决定,MouseClick 可以更改一些参数,然后由Paint 绘制:
MouseClick 事件里,重绘窗体,即:
int r = 0, x = 0, y = 0;
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
r = 10;
x = e.X;
y = e.Y;
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 绘制一个r半径圆
e.Graphics.DrawEllipse(new Pen(Color.Red), x, y, r, r);
}
补充:
在 MouseClick 事件中去调用Form 的 Paint 事件,那么参数要如何传递?
参数是个全局变量,类似上面的r、x、y等,不是由e传过去的,
上述代码是c#的,vb.net和c#一样,都是用的fcl类库,你改一下就可以了,