应用程序实例——用户信息管理
下面用我们学过的知识创建一个应用程序实例,演示MDI窗体的用法,此窗体包括菜单,工具栏和状态栏。用户选择“创建用户”菜单中“创建学员账户”菜单项,或者单击工具栏上的“创建”按钮后,将显示“frmNewUser”窗体。使用“菜单管理”命令可动态添加上下文菜单,状态栏显示日期和当前窗体名称,选择“退出系统”菜单可退出系统。 创建步骤如下: 4、将以下代码添加到frmUserManage的Load事件中。
以上代码实现窗体载入时,在状态栏的Label标签中显示当前时间。 5、在项目上右击,打开关联菜单,选择“添加新项”—“Windows窗体”命令,打开“添加新项”对话框,修改名称为“frmNewUser”,单击“确定”按钮。窗体界面如下: 6、将以下代码添加到“创建学生用户的菜单”中
以上代码实现选择“创建学生用户”菜单时,打开frmNewUser窗体,作为子窗体打开,并在主窗体的状态栏中显示当前活动窗体的信息。
8、将以下代码添加到“用户管理”菜单项的Click事件中。
9、对于实现的功能键,添加一个提示信息,代码如下:
编译并运行,首先出现的是主窗体,单击“创建”按钮,frmNewUser窗体作为子窗体显示在主窗体中。
C# winForm 将窗体状态栏StatusStrip示例(显示当前时间)
|
实现效果:通过StatusStrip显示窗体状态栏,同时将状态栏分成三部分: 居左边显示相关文字信息,中间空白显示,居右边显示时间信息。 1.创建窗体及添加StatusStrip 默认StatusStrip名称为statusStrip1 2.在statusStrip1的Items属性中 添加三个StatusLabel 默认名称为toolStripStatusLabel1,2,3 按1,2,3的顺序排列 3.修改toolStripStatusLabel1的Text属性 为相关文字如"欢迎使用本系统" 4.修改toolStripStatusLabel2的Text属性 为空 Sprint属性为True BorderSides属性为Left,Right 5.修改toolStripStatusLabel3的Text属性 为空 在Form的Load事件中 修改其显示为当前时间 this.toolStripStatusLabel3.Text = "登录时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); 6.如果要使状态栏时间信息随操作系统当前时间不停的改变 则可以通过增加Timer控件来实现 增加Timer控件 timer1 编写其Tick事件为
|
C#windows服务中的Timer控件的使用
C#windows服务程序中的Timer控件的使用是什么情况呢?那么本文就C#windows服务程序中的Timer控件的使用问题向你介绍相关的操作。
C# windows服务程序中的Timer控件的使用问题是如何解决的呢? 今天和同事一起研究了下C# windows服务程序中的Timer控件的使用的写法. 我们在建立一个C# windows服务程序后,要用到计时器的话一般都会想到Timer控件,于是到工具器把Timer控件拉过来,双击写事件,设置时间,哇,成功了.... 但服务一跑起来,唉,怎么回事,时间到了怎么没有执行事件呢? 后来,我找很多资料才知道,这个Timer控件是winForm下的,不能用在C# windows服务程序中. 怎么办呢....... 打开"工具箱"---右键---"选择项"---找到Timer控件,看好了,这个Timer控件的是system.Timer下的.可不是System.Windows.Form.然后添加. 双击...写事件... OK,搞定 C#windows服务程序中的Timer控件的使用的相关操作就向你介绍到这里,希望对你了解C#windows服务程序中的Timer控件的使用有所帮助。 |
Windows Forms高级界面组件-Timer控件实例
要求显示计算机运行的时间长度和应用程序运行的时间长度,界面如图 代码如下:
以上代码是别人源码,我虽然在机器上运行过,但对其每行的意义不是很了解,希望朋友们多多指导! |
Windows Forms高级界面组件-Timer控件
Timer控件提供了一种可在程序运行时操控时间的机制。它是一种非可视化控件,不向用户提供用户界面,因此在运行时不会显示在界面上。它类似与时钟,在指定的时间间隔不断记时,时间一到即触发事件,执行预设的动作。 Interval属性用来决定每隔多长的时间要引发回送,其设置值的单位是毫秒(也就是千分之一秒),默认值则是60000毫秒,也就是60秒。这里需要大家注意的是,将Timer控件的Interval属性设置成较小的值会使得回送频率增加,也很容易使得Web服务器的流量大增,对整体资源耗用与效率都会造成不良的影响。因此尽量在确实需要的时候使用Timer控件来定时更新页面上的内容。 每当Timer控件的Interval属性所设置的间隔时间到达而进行回送时,就会在服务器上引发Tick事件。我们通常会为Tick事件处理函数编写程序代码,以便能够根据自己的需求来定时执行特定操作。 另外一个常用的属性就是Enabled,用户可以将Enabled属性设置成false以便让Timer控件停止计时,而当需要让Timer控件再次开始计时的时候,只需再将Enabled属性设置成True即可。 Timer控件在UpdatePanel控件的内外是有区别的。当Timer控件在UpdatePanel控件内部时,JavaScript计时组件只有在一次回传完成进才会重新建立。也就说直到网页回传之前,定时器间隔时间不会从头计算。例如,用户设置Timer控件的Interval属性值为6000ms(6s),但是回传操作本身却花了2s才完成,则下一次的回传将发生在前一次回传被引发之后的8s。而如果Timer控件位于UpdatePanel控件之外,则当回传正在处理时,下一次的回传仍将发在前一次回传被引发之后的6s。也就是说,UpdatePanel控件的内容被更新之后的4s,就会再次看到该控件被更新。 C#解决StatusStrip控件上的项目不能靠右对齐的问题 |
在C#中用到了状态栏控件StatusStrip,但当我想把StatusStrip上某个StatusLabel靠右对齐时出了问题。 按照MSDN中的办法,是设置ToolStripStatusLabel的Alignment属性为Right。不过我在设计界面的属性窗口中找不到Alignment。 就算加入代码toolStripStatusLabel2.Alignment = ToolStripItemAlignment.Right; 也还是没什么效果。
后来我找到两种方法解决这个问题: 方法一: 在状态栏所有项目(StatusLabel、ProgressBar、DropDownButton等)前添加一个空白的StatusLabel (Text属性为空),并将其Spring属性设为True。 Spring属性的作用是设置该项是否填满剩余空间,设为True以后,当程序运行时后面的项就都挤到右边,实现靠右对齐了。 如果更进一步,需要一部分项靠左,一部分靠右,那就在两部分中间插入空白StatusLabel,同时设其Spring属性为True。 这种方法比较简单,不用手工添加代码。首选!
方法二: 这个方法是我无意中发现的。 设置StatusStrip控件的LayoutStyle属性为HorizontalStackWithOverflow 或 StackWithOverflow。 然后在代码中修改状态栏上某项的Alignment为Right,这次就有靠右的效果了。 例如:this.toolStripStatusLabel1.Alignment = ToolStripItemAlignment.Right; 注意如果是多个项,那靠左对齐的从左往右排列,靠右对齐的从右往左排列。
问题是基本解决了,只是我还是不知道为什么在属性窗口里ToolStripStatusLabel没有Alignment属性。从网上搜集的帖子看,好像其他人都没这个问题啊? Windows Forms高级界面组件-使用状态栏控件 |
Windows Forms高级界面组件-使用工具栏控件实例
我们使用以前创建的菜单栏,在窗体中继续添加工具栏,其中包括工具栏的标准工具和另外3外按钮:加粗、斜体、和加下划线。添加组合框用于选择字体。 2、在窗体中添加ToolStrip控件,可以看到窗体的下方显示有“toolStrip”控件。 3、添加标准工具栏,单击“toolStrip1”工具栏右上角黑色按钮,打开“ToolStrip”任务栏,单击“插入标准项”选项,即可在工具栏中插入标准工具栏按钮。 4、单击工具栏上的提示按钮中黑色三角,打开下拉列表框,在其中单击“Button”按钮,可在工具栏中添加一个按钮。修改“Text”属性为“B”,“DisplayStyle”属性设置为“Text”。 5、执行上边的相同步骤,在工具栏中添加一个按钮,将其“Text”属性设置为“I”,并将“Font”属性中的“Italic”属性值设置为true,“I”以斜体的方式显示。 6、单击工具栏上的提示按钮中黑色三角,打开下拉列表框,在其中单击“SplitButton”按钮,可添加带下拉选项的按钮。将“DisplayStyle”属性设置为“Text”,“Text”属性值设置为“U”,并将“Font”属性中的“Underline”属性值设置为true,“U”以下划线的方式显示。在打开的菜单项中输入“下划线”,“双下划线”等。 7、继续上面的操作,在工具栏上添加“ToolStripComBox”控件,编辑其“Items”属性,在项目集合编辑器中输入“黑体”,“宋体”,“楷体”,“仿宋”等 8、编译并执行程序。结果如图 说明:为工具栏中的工具添加功能的方法和菜单基本相同,在设计窗体中双击“工具”按钮,即可打开按钮的Click事件,在此处添加处理代码实现。
Windows Forms高级界面组件-使用工具栏控件
|
为了使用使用方便,许多应用程序的下面提供了一组附加的小按钮,单击这些按钮可以激活最常用的功能,而不用在菜单栏的菜单中导航。这组按钮就是工具栏(ToolStrip)。 工具栏上的按钮通常包含图片,不包含文本,但它可以既包含图片又包含文本。例如Word中的工具栏按钮就不包含文本。包含文本的工具栏按钮有Internet Explorer中的工具栏。除了按钮之外,工具栏上偶尔也会有组合框和文本框。如果把鼠标指针停留在工具栏的一个按钮上,就会显示一个工具提示,给出该按钮的用途信息,特别是只显示图标时,这是很有帮助的。
(续表)
ToolStrip控件为Windows工具栏对象提供容器,必须联合使用其他控件,包括按钮,组合框,文框等其他控件,才能完成工具栏的设计。下面是和ToolStrip相关联的控件 属 性描 述GripStyle这个属性控制着4个垂直排列的点是否显示在工具栏的最左边。隐藏栅格后,用户就不能移动工具栏了
ToolStrip控件和MeunStrip一样,也具有专业化的外观和操作方式,把ToolStrip控件添加到窗体的设计界面上时,和MenuStrip很相似,只是在右边多个排列的4个点,这些点表示工具栏是可以移动的,可以停靠在父应用程序窗口中。默认情况下,工具栏显示的是图像,不是文本。 |
Windows Forms高级界面组件-快捷菜单
快捷菜单通常所说的就是上下文菜单,敢就是程序运行时单击右键弹出的菜单。Word,Excel,Windows教有快捷菜单,使用Word时,有时需要反复使用复制、粘贴等操作,完成这些操作有多种方法,最简单和易用的方法是从Word显示的选项中右击并选取适当选项,此时显示的菜单就是上下文菜单,也就是快捷菜单。快捷菜单会随着右击位置不同而变化。VS2008中使用ContextMenuStrip控件创建快捷菜单。 ContextMenuStrip控件和MenuStrip控件使用方式相似。创建步骤如下: 1、创建项目ContextMenuText。 2、将工具箱的ContextMenuStrip控件拖放到窗体中。 3、设计菜单内容,方法和前面的菜单设计相同。设计好的菜单如下图 4、设置窗体“Form1”的ContextMenuStrip属性为窗体添加的快捷菜单属性“contextMenuStrip1”,运行程序,在窗体上右击鼠标,即可弹出快捷菜单,效果如图 注意:快捷菜单是与某个控件相关联的,创建了快捷菜单后,一定要设置相关联控件的ContextMenu属性为该快捷菜单,否则是不会起作用的。 上面是使用窗体设计器设计快捷菜单方法,编写代码可在程序运行中实现。代码如下:
|
创建MDI窗体、激活和排列子窗体
多文档应用程序中,有多个窗口打开时,在同一时间只有一个窗口是活动的,应用程序的活动窗口是所有操作的窗口,通常最上面的窗口是活动窗口。活动窗口的标题栏颜色和非活动窗口的颜色是不同的。 注意:如果窗体为 MDI 父窗体,则在触发 MDI 父窗体的 Closing 事件之前,将触发所有 MDI 子窗体的 Closing 事件。另外,在触发 MDI 父窗体的 Closed 事件之前,将触发所有 MDI 子窗体的 Closed 事件 要得到当前活动的子窗体,使用ActiveMdiChild属性获取,示例代码如下: 这句代码是将要激活的子窗体的名称传递给ActiveMdiChild()方法。如果设置了另外一个窗体为活动的子窗体,当前活动的窗体将自动取消激活。 三、排列子窗体 MdiLayout枚举的成员列表如下: 设定子窗口排列方式的代码如下: 将MdiLayout枚举成员的名称传递给LayoutMdi方法,即可设定窗口的排列方式。 |
Windows Forms高级界面组件-单文档和多文档应用程序
单文档和多文档应用程序简介 多文档应用程序(MDI)是一种常用的文档程序,常用的Excel,VS应用程序都是多文档应用程序。多文档应用程序最大特点是,用户可以一次打开多个文档,每个文档对应不同的窗口。MDI应用程序允许创建一个在单个容器窗体内容纳多个窗体应用程序,每个应用程序都有一个主窗口,子窗口在主窗口中打开,主窗口的菜单会随着当前活动的子窗口的变化而变化。
多文档应用程序的主窗体和子窗体 多文档操作MDI的属性和事件
|
属性 | 说明 |
MdiChildren | 用于获取表示多文档界面 (MDI) 子窗体的窗体数组 |
MdiParent | 用于获取或设置当前多文档界面 (MDI) 父窗体 |
ActiveMdiChild | 用于获取当前活动的多文档界面 (MDI) 子窗体 |
方法 | 说明 |
ActivateMdiChild | 用于激活子窗体 |
LayoutMdi | 排列 MDI 父窗体中的多文档界面 (MDI) 子窗体 |
事件 | 说明 |
Closed | 由用户或窗体的 Close 方法关闭窗体后,发生该事件 |
Closing | 正在关闭窗体时,发生该事件 |
MdiChildActivate | 在 MDI 应用程序中激活或关闭多文档界面 (MDI) 子窗体时,触发该事件 |
Windows Forms高级界面组件-Timer控件简单用法
Timer控件 Timer控件主要会用到2个属性一个是Enabled和Interval 例一:到9:00提示去上厕所:(
例二:每2小时提示用户看电脑时间已经很久了,需要休息了
|