知识大全 随心所欲绘制状态栏
Posted 属性
篇首语:吃的苦中苦,方为人上人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 随心所欲绘制状态栏相关的知识,希望对你有一定的参考价值。
状态栏我不想详细解释 控件非常容易用 StatusBar和StatusBarPanel配合使用 非常简单 但是这样只是满足了基本的状态栏功能的需要 很多的时候我们可能还需要个性化的状态栏 我们需要随心所欲的绘制它 要做到这一点不难 StatusBarPanel类提供了Style属性 将其设置为StatusBarPanelStyle OwnerDraw就可以自己编写代码绘制它了 StatusBar的DrawItem事件当所有者描述的状态栏控件的可视特征发生变化时 发生此事件 在这个事件里安置绘制StatusBarPanel的程序代码
StatusBarPanelStyle枚举可以决定StatusBarPanel是由系统绘制还是由程序员亲自编写程序进行绘制 有两种选择Text和OwnerDraw 前者要求StatusBarPanel按照标准字体显示文本 后者允许程序员自己写代码绘制StatusBarPanel 默认情况下是Text
以下代码片断自行绘制StatusBarPanel
在一个窗体上添加一个状态栏 将其ShowPanels属性设置为true 然后 对其Panels属性进行设置 添加 个StatusBarPanel 其中第二个的Style属性设置为Text 其余两个的Style设置为OwnerDraw
Private Sub StatusBar _DrawItem(ByVal sender As Object ByVal sbdevent As System Windows Forms StatusBarDrawItemEventArgs) Handles StatusBar DrawItem
Dim g As Graphics = sbdevent Graphics
Dim rf As New RectangleF(sbdevent Bounds X sbdevent Bounds Y _
sbdevent Bounds Width sbdevent Bounds Height)
If (sbdevent Index = ) Then
g FillRectangle(Brushes Red rf)
Dim f As New Font( ËÎÌå )
Dim b As Brush = Brushes Black
g DrawString(sbdevent Panel Text f b rf)
End If
If (sbdevent Index = ) Then
g FillRectangle(Brushes Red rf)
Dim f As New Font( ËÎÌå )
Dim b As Brush = Brushes Black
g DrawString(sbdevent Panel Text f b rf)
End If
End Sub
需要特别强调一下参数 System Windows Forms StatusBarDrawItemEventArgs 该类型的参数包含一个与DrawItem事件相关的数据 详见下表
BackColor
获取所绘制的项的背景色
Bounds
获取表示所绘制项的边界的矩形
Font
获取分配给所绘制项的字体
ForeColor
获取所绘制项的前景色
Graphics
获取要在其上绘制项的图形表面
Index
获取所绘制项的索引值
Panel
获取要绘制的StatusBarPanel
State
获取所绘制项的状态
如何让状态条右下角的三角消失呢?
将statusBar SizingGrip属性设置为false
如何让状态栏不显示其StatusBarPanel?
把statusBar的ShowPanel属性设置为false
怎样在程序运行过程中向状态条添加(删除)面板?
使用StatusBar的Panels属性
Private Sub btnAddPanel_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles btnAddPanel Click
Dim panel As New StatusBarPanel
panel Text = 动态添加的面板!
Me StatusBar Panels Add(panel)
End Sub
Private Sub btnDelPanel_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles btnDelPanel Click
Dim str As String = 动态添加的面板!
Dim panel As StatusBarPanel
For Each p As StatusBarPanel In Me StatusBar Panels
If (p Text = str) Then
panel = p
End If
Next
If (Not (panel Is Nothing)) Then
Me StatusBar Panels Remove(panel)
End If
End Sub
如何在状态条面板上显示图标?
使用StatusBarPanel Icon属性
如何自动分配状态条空间?
cha138/Article/program/net/201311/12124相关参考
平板电脑上下状态栏都没有了,怎么办?平板电脑是一中没有返回键没有主页键没有选项键的,那种全触摸屏状态栏崩溃了我之前也是你重置ADW试试或者去运行中的程序把状态栏关闭重启再不济恢复出厂设置(我就是)安卓
用状态栏提示改善JavaGUI 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一个应用程序有多复
usingSystemCollectionsGeneric; usingSystemComponentModel; usingSystemData;&nbs
时钟广告跳转状态栏等JS代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 判断网页是否过期ge
用DELPHI在状态栏中显示进程条[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 上面的步
用DELPHI在状态栏中显示进程条[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!经常上网的朋
VB.NET实现窗体图标最小化到状态栏 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文所使用
知识大全 我今天2点58的时候委托买股票,现在状态说明栏显示的是已报,我是买到没有呢
我今天2点58的时候委托买股票,现在状态说明栏显示的是已报,我是买到没有呢?账户上的钱怎么不见了您好,针对您的问题,国泰君安上海分公司给予如下解答您好,显示“已报”,就是这笔委托已经发送出去了,但是没
平板电脑下方返回键消失怎么设置回来状态栏崩溃了我之前也是你重置ADW试试或者去运行中的程序把状态栏关闭重启再不济恢复出厂设置(我就是)苹果平板电脑返回键怎么设置触摸的在设置通用里面点辅助功能里的平板电
平板电脑返回键没了怎么恢复,平板电脑返回键在哪里平板电脑怎么返回桌面状态栏崩溃了我之前也是你重置ADW试试或者去运行中的程序把状态栏关闭重启再不济恢复出厂设置(我就是)优学派平板电脑U18返回键和起它