更改(自定义)ProgressBar颜色

用户5395084

我正在创建一个带有属性的自定义进度栏

Public Class CustomProgressBar : Inherits ProgressBar

    Private _State As ProgressStates

    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, <MarshalAs(UnmanagedType.LPWStr)> ByVal lParam As String) As Int32
    End Function

    <Category("Appearance")> _
    <DefaultValue(ProgressStates.Normal)> _
    <Description("The progress state, Red=Error, Yellow=Warning, Green=Normal")> _
    Public Property State As ProgressStates
        Get
            Return _State
        End Get
        Set(value As ProgressStates)
            _State = value
            SendMessage(MyBase.Handle, 1040, value, 0)
        End Set
    End Property

End Class

进度状态

Public Enum ProgressStates

    Normal = 1
    [Error] = 2
    Warning = 3

End Enum

在设计器中,我将自定义属性设置为Error,并且工作正常(在设计器中),但是当我运行我的应用程序时,进度值自动设置为0,并且不应用该属性

设计器和可执行文件

普萨·庞杰伦德拉普

它与属性完全无关,但是PInvoke在源代码或转换中都不完美。我怀疑您是从这个旧的C#答案开始的

Imports System.Runtime.InteropServices
Class NativeMethods
    <DllImport("user32.dll", CharSet:=CharSet.Auto, SetLastError:=False)>
    Private Shared Function SendMessage(hWnd As IntPtr,
                                        Msg As UInt32,
                                        w As IntPtr,
                                        l As IntPtr) As IntPtr
    End Function

    Private Const PBM_SETSTATE = &H400 + 16
    Friend Enum PBMStates
        Normal = 1
        [Error] = 2
        Paused = 3
    End Enum

    Friend Shared Sub SetProgressState(ctl As ProgressBar, state As PBMStates)
        SendMessage(ctl.Handle, PBM_SETSTATE, New IntPtr(state), IntPtr.Zero)
    End Sub
End Class

根据MSDN文档,PBM_SETSTATE返回以前的状态。我忽略了这一点,并将其作为Sub。由于只应该将其与ProgressBarI一起使用,因此它仅接受ProgressBar控件而不是控件句柄(可以来自任何控件)。最后,代码是Sharedand在一个NativeMethods类中,因此CA不会抱怨。用法:

NativeMethods.SetProgressState(ProgressBar1, NativeMethods.PBMStates.Error)

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义ProgressBar

来自分类Dev

自定义ProgressBar

来自分类Dev

如何更改或自定义熊猫的颜色?

来自分类Dev

SwiftUI的TabView颜色无法更改为自定义颜色

来自分类Dev

如何使用自定义颜色更改gnuplot颜色框

来自分类Dev

自定义视图的状态更改时更改颜色

来自分类常见问题

为自定义seekBar动态更改LinearGradient颜色比率

来自分类Dev

将默认设计主题更改为自定义颜色

来自分类Dev

通过自定义Bootstrap更改按钮上的悬停颜色

来自分类Dev

以编程方式更改自定义按钮形状的颜色

来自分类Dev

单击我的按钮,更改我的自定义输入的颜色

来自分类Dev

自定义动画,延迟更改文本颜色

来自分类Dev

更改Google Map中的颜色(自定义)

来自分类Dev

更改自定义uibarbuttonitem(iOS7)的颜色

来自分类Dev

更改自定义ListView的文本颜色

来自分类Dev

以编程方式更改自定义按钮形状的颜色

来自分类Dev

在自定义UICollectionViewCell中更改UILabel的文本颜色

来自分类Dev

自定义 DefaultTableCellRenderer 不更改 jTable 上行的背景颜色

来自分类Dev

VisualCode - 更改自定义 Word 的字体颜色

来自分类Dev

更改自定义模式的边距颜色

来自分类Dev

在 swift 4 中更改自定义绘图的颜色

来自分类Dev

自定义更改单元格底部边框的颜色

来自分类Dev

如何自定义单个标签?(更改背景颜色,指示器颜色和文本颜色)

来自分类Dev

自定义ProgressBar旋转不平稳

来自分类Dev

自定义圆形ProgressBar,图像居中

来自分类Dev

自定义ProgressBar旋转不平稳

来自分类Dev

wxPython自定义progressBar问题

来自分类Dev

自定义颜色操作按钮,透明卡片背景,全屏自定义布局通知。更改卡片颜色

来自分类Dev

自定义颜色操作按钮,透明卡背景,全屏自定义布局通知。更改卡颜色

Related 相关文章

  1. 1

    自定义ProgressBar

  2. 2

    自定义ProgressBar

  3. 3

    如何更改或自定义熊猫的颜色?

  4. 4

    SwiftUI的TabView颜色无法更改为自定义颜色

  5. 5

    如何使用自定义颜色更改gnuplot颜色框

  6. 6

    自定义视图的状态更改时更改颜色

  7. 7

    为自定义seekBar动态更改LinearGradient颜色比率

  8. 8

    将默认设计主题更改为自定义颜色

  9. 9

    通过自定义Bootstrap更改按钮上的悬停颜色

  10. 10

    以编程方式更改自定义按钮形状的颜色

  11. 11

    单击我的按钮,更改我的自定义输入的颜色

  12. 12

    自定义动画,延迟更改文本颜色

  13. 13

    更改Google Map中的颜色(自定义)

  14. 14

    更改自定义uibarbuttonitem(iOS7)的颜色

  15. 15

    更改自定义ListView的文本颜色

  16. 16

    以编程方式更改自定义按钮形状的颜色

  17. 17

    在自定义UICollectionViewCell中更改UILabel的文本颜色

  18. 18

    自定义 DefaultTableCellRenderer 不更改 jTable 上行的背景颜色

  19. 19

    VisualCode - 更改自定义 Word 的字体颜色

  20. 20

    更改自定义模式的边距颜色

  21. 21

    在 swift 4 中更改自定义绘图的颜色

  22. 22

    自定义更改单元格底部边框的颜色

  23. 23

    如何自定义单个标签?(更改背景颜色,指示器颜色和文本颜色)

  24. 24

    自定义ProgressBar旋转不平稳

  25. 25

    自定义圆形ProgressBar,图像居中

  26. 26

    自定义ProgressBar旋转不平稳

  27. 27

    wxPython自定义progressBar问题

  28. 28

    自定义颜色操作按钮,透明卡片背景,全屏自定义布局通知。更改卡片颜色

  29. 29

    自定义颜色操作按钮,透明卡背景,全屏自定义布局通知。更改卡颜色

热门标签

归档