View Full Version : سوال: نحوه گرفتن رنگ از ColorPickerButton و دادن آن به ManagerColorTint ؟؟؟
  
tam2145
دوشنبه 22 اسفند 1390, 20:14 عصر
سلام !!
من یک ریبون کنترل از کامپوننت dotnetbar ایجاد کرده ام که همراهش یک StyleManager ایجاد می شود که یک خصوصیت به نام ManagerColorTint دارد که باعث می شود که رنگ قالب ریبون تغییر کند !!
حالا من می خواهم از این خصوصیت در تنظیمات برنامه استفاده کنم !!
می خواهم به وسیله ColorPickerButton یک رنگ را از کاربر بگیرم (( که خودش می گیره )) و بعد اون را به StyleManager خصوصیت ManagerColorTint بدهم ولی نمی دانم از چه کدی استفاده کنم !!
اگه دوستان لطف کنند و کدش را بگذارند ، ممنون می شوم !!
منتظر...............
gilsoft
دوشنبه 22 اسفند 1390, 23:54 عصر
سلام دوست عزیز
من از کد زیر استفاده کردم و خوبم جواب داد
#Region "Automatic Color Scheme creation based on the selected color table"
    Private m_ColorSelected As Boolean = False
    Private m_BaseStyle As eStyle = eStyle.Office2010Silver
    Private m_ColorTint As Boolean = False
    Private Sub btnStyleCustom_ExpandChange(ByVal sender As Object, ByVal e As EventArgs) Handles btnStyleCustom.ExpandChange
        If btnStyleCustom.Expanded Then
            ' Remember the starting color scheme to apply if no color is selected during live-preview
            m_ColorSelected = False
            m_BaseStyle = StyleManager.Style
        Else
            If Not m_ColorSelected Then
                StyleManager.ChangeStyle(m_BaseStyle, Color.Empty)
            End If
        End If
    End Sub
    Private Sub btnStyleCustom_ColorPreview(ByVal sender As Object, ByVal e As DevComponents.DotNetBar.ColorPreviewEventArgs) Handles btnStyleCustom.ColorPreview
        StyleManager.ColorTint = e.Color
        m_ColorTint = True
        btnStyleCustomOff.Enabled = m_ColorTint
    End Sub
    Private Sub buttonStyleCustom_SelectedColorChanged(ByVal sender As Object, ByVal e As EventArgs) Handles btnStyleCustom.SelectedColorChanged
        m_ColorSelected = True ' Indicate that color was selected for buttonStyleCustom_ExpandChange method
        btnStyleCustom.CommandParameter = btnStyleCustom.SelectedColor
    End Sub
    Private Sub AppCommandTheme_Executed(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AppCommandTheme.Executed
        Dim source As ICommandSource = TryCast(sender, ICommandSource)
        If TypeOf source.CommandParameter Is String Then
            Dim style As eStyle = CType(System.Enum.Parse(GetType(eStyle), source.CommandParameter.ToString()), eStyle)
            ' Using StyleManager change the style and color tinting
            If style = eStyle.Metro Then
                StyleManager.ColorTint = Nothing
                m_ColorTint = False
            Else
                StyleManager.ChangeStyle(style, Color.Empty)
            End If
            If style = eStyle.Office2007Black OrElse style = eStyle.Office2007Blue OrElse style = eStyle.Office2007Silver OrElse style = eStyle.Office2007VistaGlass Then
                btnSystem.BackstageTabEnabled = False
            Else
                btnSystem.BackstageTabEnabled = True
            End If
        ElseIf TypeOf source.CommandParameter Is Color Then
            StyleManager.ColorTint = CType(source.CommandParameter, Color)
            m_ColorTint = True
        End If
        btnStyleCustomOff.Enabled = m_ColorTint
    End Sub
#End Region
ناگفته تماند که این کد رو از Sample خود DevComponents.dotnetbar برداشتم و یه کم اونو دستکاری کردم !   :چشمک:
tam2145
سه شنبه 23 اسفند 1390, 13:25 عصر
سلام دوست عزیز !!
ممنون !!
فقط اگه میشه سورس ساده را بگذارید بدون اضافات !!
در کل فرض بر این بگذارید که ما یک ColorPickerButton و یک StyleManager در فرم داریم و می خواهیم فقط رنگ گرفته شده از ColorPickerButton را به ManagerColorTint بدهیم !! همین !!
اگه می شود فقط سورس گرفتن و نسبت دادن رنگ را به صورت جداگانه بگذارید !! لطفا !!
tam2145
یک شنبه 28 اسفند 1390, 14:40 عصر
کسی نیست که بلد باشه رنگ را از ColorPickerButton بگیره و اونو به یک خصوصیت از نوع رنگ شئ بدهد ؟؟؟؟
سورس ساده با توضیح ..........................
نیاز دارم ............................................
tam2145
دوشنبه 29 اسفند 1390, 00:42 صبح
با سلام !!
خودم راه حل را پیدا کردم !!
اینجا می گذارم اگه کسی نیاز داشت ، دیگه نپرسه !!
ابتدا یک ColorPickerButton و StyleManager ایجاد کنید و یک ریبون کنترل که نتیجه را ببینید !!
Private Sub ColorPickerButton1_SelectedColorChanged(ByVal sender As Object, ByVal e As System.EventArgs)
StyleManager1.ManagerColorTint = ColorPickerButton1.SelectedColor
End Sub
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.