【问题标题】:Visual studio Progressbar control: blue colorVisual Studio 进度条控件:蓝色
【发布时间】:2016-05-25 07:10:30
【问题描述】:

使用进度条控件我只能使用默认的绿色。

在 windows 7 中我注意到了这个控件,见下图。

我找到了这篇文章: Windows ProgressBar

我的问题是,如何在 Visual Studio 2013 中使用此控件标记蓝色进度条?

谢谢

编辑:我想要蓝色,而不是红色、黄色或绿色。此控件称为“仪表”。

【问题讨论】:

标签: vb.net progress-bar


【解决方案1】:

很抱歉,但按说明无法访问:

在 Windows Vista 中,进度条有不同的风格,最 常见的进度条是绿色的。然而,也有 红色和黄色版本(有一个蓝色版本,称为 米,但这是无法访问的)。进度条颜色似乎 对应于特定的进度条状态。您可以设置这些状态 使用 PBM_SETSTATE [0x40F] 消息。状态为 PBST_NORMAL [0x0001]、PBST_ERROR [0x0002] 和 PBST_PAUSE [0x0003]。

但如果您有兴趣,可以访问红色和黄色 使用以下内容:

Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Enum ProgressBarColor
    Green = &H1
    Red = &H2
    Yellow = &H3
End Enum

Private Shared Sub ChangeProgBarColor(ByVal ProgressBar_Name As ProgressBar, ByVal ProgressBar_Color As ProgressBarColor)
    SendMessage(ProgressBar_Name.Handle, &H410, ProgressBar_Color, 0)
End Sub

使用示例:

ChangeProgBarColor(Progress_Bar, ProgressBarColor.Red)

【讨论】:

    【解决方案2】:

    我找到了改变颜色的方法,但没有蓝色... 但我想它是通过同样的方式完成的

    Public Class Form1
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            MyProgressBar1.pdColor = myProgressBar.ProgressBarColor.red
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            MyProgressBar1.Increment(1)
        End Sub
    End Class
    
    Public Class myProgressBar
        Inherits ProgressBar
    
        Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
        Public Sub New()
        End Sub
    
        Enum ProgressBarColor
            green = 1
            red = 2
            yellow = 3
        End Enum
    
        Private pbColor As ProgressBarColor
        Public Property pdColor As ProgressBarColor
            Get
                Return pbColor
            End Get
            Set(value As ProgressBarColor)
                pbColor = value
                SendMessage(Me.Handle, 1040, value, 0)
            End Set
        End Property
    
    End Class
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多