admin 管理员组

文章数量: 1086019


2024年3月7日发(作者:relative用法及搭配)

1、设置窗体

2010-11-18 16:42 阅读(117)

评论(1)

转载(13)

分享

复制地址

收藏夹按钮收藏

更多

上一篇 | 下一篇:3、程序反向铣_分...

1. 如何设置一个From的边界

2. 如何建立一个透明的From

3. 如何设置窗体在屏幕中的位置

4. 如何使最小化和最大化按钮不可用

5. 如何使一个窗体不见

6. 如何设置使窗体成为非矩形的.

7. 如何使一个窗体在屏幕的最顶端.

8. 如何显示一个Model和非Model的窗体

9. 如何制作一个MDI的窗体

10. 如何将你的窗体不显示在任务条上.

11. 如何制作一个带启动屏幕的窗体.

12. 如何使你的窗体TrayIcon.

13. 如何修改控制窗体的尺寸和长宽尺寸.

14. 如何建立一个Windows Explorer风格的窗体.

15. 如何设置初始的启动窗体

16. 如何建立一个有背景图像的窗体

==========================================================================================

1. 如何设置一个From的边界

form总共有七种不同的边界风格让你设置,你可以在设计时刻也可以运行时通过代码动态的来设置它.这七种边

none ( )

fixed 3D (3D)

fixed Dialog (ialog)

fixed Single(ingle)

fixed Tool Window(oolWindow)

sizable(e)

sizable Tool Window

(etoolwindow)

在设计方式下在 IDE的 Properties window中设置FormBorderStyle属性就可以了.

在运行方式下你可以用代码来完成:

rderstyle = ialog

这七种边界类型VB6中就有,没有什么大的变化,运行方式下你需要对照不同的枚举变量进行设置.

2. 如何建立一个透明的From

你可以通过两种方法在设计时刻和运行时刻来做到这一点.

设计时刻,你可以在 IDE的 Properties window, 设置Opacity 属性达到这个效果.这个值从0.0到1.0全不透明.

运行时刻你可以用下面的编码设置窗体的opactiy属性来做到.具体:

y = 0.76; ( C# )

看得出现在很简单了,你已经不用再去了解什么alpha变量了.透明始终只是一种效果,不要滥用它.

3. 如何设置窗体在屏幕中的位置

你可以设置窗体的startposition属性,一般给你一个保守的选项” WindowsDefaultLocation“ 这样系前的计算机设置来确定一个值,你也可以在设计时将它改成另一个值”Center”.

如果你一定要在设计方式下确定窗体在屏幕出现的位置你可以先设置startposition为manual,然后设置locat

运行时用代码实现似乎更简洁一些:

on = new Point (100, 100) ( )

当然你也可以分别修改的Location的X和Y值,对应的是窗体的Left和Top属性,比如:

+= 200 ( )

-= 100 ( )

另外一个属性将也将影响窗体在屏幕的位置:desktoplocation 这个属性主要是在你设置窗体的位置相对于任务在屏幕的顶或左边时,其实相应改动了desktop coordinates (0,0)),你可以这样设置这个不出现在设计属性窗

plocation = new Point (100,100)

窗体在屏幕中的位置将主要取决于各自用户具体的硬件和设置情况,所以保守的作法是用默认的” WindowsDefa专业的作法是自己先获取系统的设置然后编码动态计算后进行设置,不然很容易在屏幕上找不到你的窗体.

4. 如何使最小化和最大化按钮不可用

在设置窗体的zebox和zebox 当为True时表示显示,False时表示不可.用编程方式见

izebox = False ( )

mizebox = True ( )

5. 如何使一个窗体不见

我想最直接的办法是你调用 Hide()方法来做到这一点.不过我想提供另一种方法,看了之后你会获得一些其它的

Private Const WS_EX_TOOLWINDOW As Int32 = &H80

Private Const WS_POPUP As Int32 = &H80000000

Private Const WS_VISIBLE As Int32 = &H10000000

Private Const WS_SYSMENU As Int32 = &H80000

Private Const WS_MAXIMIZEBOX As Int32 = &H10000

Protected Overrides ReadOnly Property CreateParams() As Params

Get

Dim cp As Params

cp = Params

e = WS_EX_TOOLWINDOW

= WS_POPUP Or WS_VISIBLE Or WS_SYSMENU Or WS_MAXIMIZEBOX

= 0

= 0

Return cp

End Get

End Property

原来是把Height 和Width都设置成0 ,我想这种方式和Hide()调用的底层可能是不同的。

6. 如何设置使窗体成为非矩形的.

这个问题我想我提供的不是最专业的作法,至少它还不能达到我期望的那样,也就是说它在某些事件中它还会变回果试图调用原来的win32’s API SetWindowRng是不行的,我曾如此的尝试过.现在你可能需要知道有关窗体的

' // ( )

Public Sub SetWindowRegion()

Dim FormPath As csPath

Dim Reg As

Dim lRet As Long

FormPath = New csPath()

ipse(New Rectangle(0, 0, 250, 120))

= New Region(FormPath)

End Sub

Private Sub Button1_Click(ByVal sender As , ByVal e As rgs) Handles But

= Nothing

SetWindowRegion()

End Sub

Protected Overrides Sub OnResize(ByVal e As rgs)

= Nothing

SetWindowRegion()

End Sub

7. 如何使一个窗体在屏幕的最顶端.

这是很实用的一个功能,现在你不用在调用其它api了,只用设置topmost 属性为True就可以了.对于这个属性进行修改的.代码方式:

t = True ( )

8. 如何显示一个Model和非Model的窗体

model和modeless的窗体主要将取决于你的应用,最多的是用在显示对话框.当你需要model的窗体时你调用my调用,对于ShowDialog有一个可选参数ower可以让你为一个窗体建立父子关系.比如:

' Visual Basic

Private Sub mnuAbout_Click(…args…)

Dim f As New FormOption

alog Me

End Sub

有一点需要注意的是对于ShowDialog来说,当执行到这一句,窗体显示,但这之后的代码将不会执行,只到窗口关来说是即时的,显示窗体之后将立即执行下面的代码.

9. 如何制作一个MDI的窗体

1. 建立一个新的Windows Application项目

2. 分别加入两个窗体Form1 、Form2

3. 设置Form1的IsMdiContainer属性为True。使它成为MDI主窗体。

4. 在Form2中加入一个RichTextBox控件,并设置Dock为:Fill

5. 在Tools 窗体中拖一个MainMenu到窗体Form1,然后建立一个菜单File|Windows|Help三个菜单项,FileWindows中包括Cascade、Horizontal等。

6. 设置Windows菜单项的MdiList属性=True, 这样每一个MDI子窗口将自动加在Windows菜单项下面。

7. 双击New菜单项,然后加入以下代码:

private void menuNew_Click(object sender, rgs e)

{

Form2 NewMdiChild ;

NewMdiChild = new Form2() ;

ent = this ;

() ;

}

8. 在Windows的Cascade等菜单项中加入以下代码:

private void menuWindowCasca_Click(object sender, rgs e)

{

Mdi( e) ;

}

另外还有以下常用的:

mdi(rizontal);

mdi(rtical);

9. F5运行。

最终版的 不知是否会有一个通用的模板,不过用完全手工的方式产生一个MDI的窗口,显得有些繁琐,简洁。

10. 如何将你的窗体不显示在任务条上.

当窗体的边界风格是tools Window时它都不会出现在任务条上的.另外上面标题5中介绍的方法不仅窗体看不见

如果你现在在Dotnet的世界,这件事也变的简单,任何的Winform窗体现在都有ShowInTaskbar属性,所以你了。同样你可以选择在属性窗口中将ShowInTaskbar由True改为False。或是用代码的方式:

Taskbar = false ; ( C# )

11. 如何制作一个带启动屏幕的窗体.

需要你准备两个winform的窗体,一个叫它:splashscreen,把它做成一个漂亮的窗体。然后你需要一个主窗体体加入下面的代码。

// ( C# )

protected override void OnLoad ( rgs e )

{

//make load take a long time

(2000);

(e);

}

然后在main中加入这样的代码:

[STAThread]

static void Main()

{

SplashScreen splashForm = new SplashScreen();

();

Form1 mainForm = new Form1() ;

+= new EventHandler(reen_Load);

(mainForm);

}

不要忘了加上对threading的引用: using ing;

12. 如何使你的窗体TrayIcon.

实现这个功能你可以运用notifyicon控件来达到,从tools Windows中将NotifyIcon拖到你的窗体上然后在下

' //

Private mIconA As Icon = New Icon("")

Private mIconB As Icon = New Icon("")

Private mIconDisplayed As Boolean

Public Sub New()

Form1 = Me

'This call is required by the Win Form Designer.

InitializeComponent

'TODO: Add any initialization after the InitializeComponent() call

'this form isn't used directly so hide it immediately

()

'setup the tray icon

Initializenotifyicon()

End Sub

Private Sub Initializenotifyicon()

'setup the default icon

notifyicon = New Icon()

= mIconA

= "Right Click for the menu"

e = True

mIconDisplayed = True

'Insert all MenuItem objects into an array and add them to

'the context menu simultaneously

Dim mnuItms(3) As MenuItem

mnuItms(0) = New MenuItem("", New EventHandler(AddressOf rmSelect))

mnuItms(0).DefaultItem = True

mnuItms(1) = New MenuItem("Toggle Image", New EventHandler(AddressOf ImageSelect))

mnuItms(2) = New MenuItem("-")

mnuItms(3) = New MenuItem("Exit", New EventHandler(AddressOf lect))

Dim notifyiconMnu As ContextMenu = New ContextMenu(mnuItms)

tMenu = notifyiconMnu

End Sub

Public Sub ShowFormSelect(ByVal sender As Object, ByVal e As rgs)

'Display the settings dialog

Dim SettingsForm As New SettingsForm()

alog()

End Sub

Public Sub ToggleImageSelect(ByVal sender As Object, ByVal e As rgs)

'called when the user selects the 'Toggle Image' context menu

'determine which icon is currently visible and switch it

If mIconDisplayed Then

'called when the user selects the 'Show Form' context menu

= mIconB

= "Sad"

mIconDisplayed = False

Else

= mIconA

= "Happy"

mIconDisplayed = True

End If

End Sub

Public Sub ExitSelect(ByVal sender As Object, ByVal e As rgs)

'called when the user selects the 'Exit' context menu

'hide the tray icon

e = False

'close up

()

End Sub

'Form overrides dispose to clean up the component list.

Public Overloads Overrides Sub Dispose()

e()

e()

End Sub

图标文件你自己准备了,如果成功你可以看到有关NotifyIcond的各种功能了。

13. 如何修改控制窗体的尺寸和长宽尺寸.

主要是修改winform的size, Width 和Height属性。同样它们都是可以在设计和运行时刻进行修改和设置。

= New (100, 100) ( )

+= 100 ( )

-= 20 ( )

14. 如何建立一个Windows Explorer风格的窗体.

1.建立一个新的windows Application

2.从toolbox窗口拖一个treeview控件、、一个splitterk控件、一个listview控件,分别在属性窗口中设置left;设置listview控件的dock属性为:fill

3: F5 运行

15. 如何设置初始的启动窗体

无论是c#还是visual Basic的Winform项目中你都可以在Solution Explorer窗口中右键你的Project,然后页中选择你启动的窗体或是Main()方法。

有些不同的是在目前的 Beta2中C#项目会自动产生Main() 方法,Visual 的项目中你必须自以将Form1改成任何你可以启动的窗体名:

// ( C# )

static void Main()

{

(new Form1());

}

16. 如何建立一个有背景图像的窗体

现在的winform中所有的窗体都有一个backgroundimage属性,只用对它赋值就可以了。普通窗体可以在运行模设置。比如在initializecomponent()或窗体的构造函数中加入这样的代码:

oundimage = new Bitmap("C:" ) ;

对于MDI的主窗体要麻烦一些,在的IDE窗体中,当你设置完IsMdiContainer属性为True后,你需要InitializeComponent()中是否有这样的代码 ( C# ):

= ;

= "mdiClient1";

或是在窗口的属性窗口组合框中看到mdiclient1 ent.这就是主MDI窗口,不过何有关ent的说明。然后你可以在InitializeComponent()或窗体的构造函数中

oundimage = new Bitmap("C:" ) ;

网上有一个ImageView的例子,里面演示了给MDI主窗体中背景上加入一行Logo文字的方法,这样使你的MDI可以这样做:

1. 先在 自动产生代码的InitializeComponent中看是否有这样的语句( C# ):

ge(new l[] {ent1});

又是这个mdiClient (haha)

2. 建立以下两个函数用于显示这个Logo字符:

// ( C# )

protected void Mdi_OnPaint ( Object s, ventArgs e )

{

Control c = (Control)s;

Rectangle r1 = Rectangle;

-= 4;

-= 4;

Rectangle r2 = r1;

-= 1;

-= 1;

Font f = new Font("Tahoma", 8);

String str = " ?2001 MyWinform Application V1.0";

StringFormat sf = new StringFormat();

ent = ;

ignment = ;

ring(str, f, new SolidBrush(lDarkDark), r1, sf);

ring(str, f, new SolidBrush(lLight), r2, sf);

}

protected void Mdi_OnResize ( Object s , rgs e )

{

Control c = (Control)s;

date();

}

3. 在InitializeComponent()或窗体的构造函数中加入这样的代码:

( C# )

ls[0].Paint += new PaintEventHandler( Mdi_OnPaint ) ;

ls[0].Resize += new EventHandler( Mdi_OnResize ) ;

注意将它加在InitializeComponent()后面或是在InitializeComponent函数中ge函数


本文标签: 窗体 设置 属性 代码 屏幕