تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
#TColorBox For .Net – Vb & C
#1
السلام عليكم و رحمة الله و بركاته

مكون دلفي الشهير TColorBox على منصة الدوت نت . الأداة توفر لك عرض قائمة لجميع الألوان أو ألوان محددة كألوان النظام أو SystemColors أو ..

[ATTACH=CONFIG]859[/ATTACH][ATTACH=CONFIG]860[/ATTACH]


الأداة قمت بتوريثها من الفئة ComboBox و تحتوي على الخصائص التالية :

الخاصية ColorsTypes و تحدد نوع الألوان و لها أربع خيارات :

FromDefaultColors : الألوان الافتراضية

FromSystemColors : ألوان النظام كلون القوائم أو النصوص .. الخ

FromKnownColor : ألوان خاصة ب MS

FromItems : تسمح لك هذه الخاصية بتخصيص الألوان التي تريد اظهارها عن طريق ال Items , كعرض مثلا اللون الأحمر و الأصفر فقط ..

الخاصية HighlightColor : اللون الذي سيلون به ال Item عند مرور مؤشر الماوس

الخاصية SelectedColor : تعيد هذه الخاصية اللون المحدد
PHP كود :
Me.BackColor Me.TColorBox1.SelectedColor 
الخاصية itemColor : تعيد اللون الموجود في ال item
PHP كود :
BackColor Me.TColorBox1.itemColor(1
سورس الأداة : #C

PHP كود :
/*   TColorBox v1 by SMP3 | SAFMEHDI
' My Blog : DelphiNews.WordPress.Com
' Note : you can (use,modify,edit) this free tool in your project without any conditions .. :)
'
' ---> Open Your Source ... Open Your Mind
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.ComponentModel;
using System.Drawing;
using System.Reflection;
namespace 
ColorBoxDemo_CSharp
{

public class 
TColorBox ComboBox
 
{

public 
TColorBox()
 {
 
this.DrawMode DrawMode.OwnerDrawVariable;
 
this.DropDownStyle ComboBoxStyle.DropDownList;
 
EnumColors();
 if (
this.Items.Count 0)
 
this.SelectedItem this.Items[0];
 }

public 
enum _ColorsTypes
 
{
 
FromDefaultColors,
 
FromKnownColor,
 
FromSystemColors,
 
FromItems,
 }

private 
_ColorsTypes mColorsTypes _ColorsTypes.FromDefaultColors;
 private 
Color mHighlightColor SystemColors.Highlight;

public 
_ColorsTypes ColorsTypes
 
{
 
get
 
{
 return 
mColorsTypes;
 }
 
set
 
{
 
mColorsTypes value;
 
EnumColors();
 
Invalidate();
 }
 }

public 
Color HighlightColor
 
{
 
get
 
{
 return 
mHighlightColor;
 }
 
set
 
{
 
mHighlightColor value;
 }
 }

private 
void EnumColors()
 {
 
System.Reflection.PropertyInfo[] pAllColor;
 
Items.Clear();
 switch (
mColorsTypes)
 {
 case 
_ColorsTypes.FromDefaultColors:
 
pAllColor typeof(Color).GetProperties((BindingFlags.Static | BindingFlags.Public));
 foreach (
System.Reflection.PropertyInfo pColor in pAllColor)
 {
 
Items.Add(pColor.Name);
 }
 break;
 case 
_ColorsTypes.FromSystemColors:
 
pAllColor typeof(SystemColors).GetProperties((BindingFlags.Static | BindingFlags.Public));
 foreach (
System.Reflection.PropertyInfo pColor in pAllColor)
 {
 
Items.Add(pColor.Name);
 }
 break;
 case 
_ColorsTypes.FromKnownColor:
 
string[] KnownColorNames Enum.GetNames(typeof(KnownColor));
 
Items.AddRange(KnownColorNames);
 break;
 case 
_ColorsTypes.FromItems:
 break;
 }
 }

[
Browsable(false)]
 public 
Color SelectedColor
 
{
 
get
 
{
 return 
Color.FromName(this.SelectedItem.ToString());
 }
 }

public 
Color getItemColor(int iIndex)
 {

return 
Color.FromName(this.Items[iIndex].ToString());

}
 protected 
override void OnDrawItem(System.Windows.Forms.DrawItemEventArgs e)
 {
 
string txt;
 if ((
e.Index 0))
 {
 if (
this.Items.Count 0)
 
this.SelectedItem this.Items[0];
 
txt this.Text;
 }
 else
 {
 
txt this.Items[e.Index].ToString();
 }
 
Rectangle colorRect = new Rectangle((e.Bounds.1), (e.Bounds.2), (ItemHeight 2), (ItemHeight 4));
 
Rectangle LRect e.Bounds;
 
LRect.= (LRect.colorRect.Width);
 
StringFormat sf = new StringFormat();
 
sf.LineAlignment StringAlignment.Center;

e.Graphics.DrawString(txte.Font, new SolidBrush(e.ForeColor), new Rectangle(LRect.1LRect.YLRect.WidthLRect.Height), sf);
 if ((
e.State DrawItemState.Selected) == DrawItemState.Selected)
 {
 
e.Graphics.FillRectangle(new SolidBrush(this.mHighlightColor), e.Bounds);
 }
 else
 {
 
e.Graphics.FillRectangle(new SolidBrush(e.BackColor), e.Bounds);
 }
 
e.Graphics.FillRectangle(new SolidBrush(Color.FromName(txt)), colorRect);
 
e.Graphics.DrawString(txte.Font, new SolidBrush(e.ForeColor), new Rectangle(LRect.1LRect.YLRect.WidthLRect.Height), sf);
 
sf.Dispose();
 }
 }


سورس الأداة : Vb.Net

PHP كود :
' TColorBox v1 by SMP3 | SAFMEHDI
My Blog DelphiNews.WordPress.Com
' Note : you can (use,modify,edit) this free tool in your project without any conditions .. :)
'
' ---> Open Your Source ... Open Your Mind

Imports System.ComponentModel
Public Class TColorBox
 Inherits ComboBox
 Public Sub New()
 MyBase.New()
 '
Owner Draw True
 Me
.DrawMode DrawMode.OwnerDrawVariable
 Me
.DropDownStyle ComboBoxStyle.DropDownList
 EnumColors
() ' Get List of all Colors
 IIf(Items.Count > 0, SelectedItem = Me.Items(0), False)

End Sub
 Enum _ColorsTypes
 FromDefaultColors '
System.Drawing.Color
 FromKnownColor 
' MS Color
 FromSystemColors ' 
System Colors
 FromItems 
' From Items
 End Enum
 Private mColorsTypes As _ColorsTypes = _ColorsTypes.FromDefaultColors
 Private mHighlightColor As Color = SystemColors.Highlight ' 
Default Color Highlight
 
Public Property ColorsTypes() As _ColorsTypes
 Get
 
Return mColorsTypes
 End Get
 Set
(ByVal value As _ColorsTypes)
 
mColorsTypes value
 EnumColors
()
 
Invalidate() ' Redraw

End Set
 End Property

 Public Property HighlightColor() As Color
 Get
 Return mHighlightColor

End Get
 Set(ByVal value As Color)
 mHighlightColor = value

End Set
 End Property
 Private Sub EnumColors()
 Dim pAllColor() As System.Reflection.PropertyInfo
 Dim pColor As System.Reflection.PropertyInfo
 Items.Clear()

Select Case mColorsTypes
 Case _ColorsTypes.FromDefaultColors
 pAllColor = GetType(Color).GetProperties(Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public)
 For Each pColor In pAllColor
 Items.Add(pColor.Name)
 Next
 Case _ColorsTypes.FromSystemColors
 pAllColor = GetType(SystemColors).GetProperties(Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public)
 For Each pColor In pAllColor
 Items.Add(pColor.Name)
 Next
 Case _ColorsTypes.FromKnownColor
 Dim KnownColorNames As String() = [Enum].GetNames(GetType(KnownColor))
 Items.AddRange(KnownColorNames)
 Case _ColorsTypes.FromItems

End Select
 End Sub
 <Browsable(False)> Public ReadOnly Property SelectedColor() As Color
 Get
 Return Color.FromName(Me.SelectedItem.ToString)
 End Get
 End Property
 <Browsable(False)> Public ReadOnly Property itemColor(ByVal index As Integer) As Color
 Get
 Return Color.FromName(Me.Items(index).ToString)
 End Get
 End Property

Protected Overrides Sub OnDrawItem(ByVal e As System.Windows.Forms.DrawItemEventArgs)
 '
MyBase.OnDrawItem(e)
 
Dim txt As String
 
If e.Index 0 Then
 
If Items.Count 0 Then
 Me
.SelectedItem Me.Items(0)
 
End If
 
txt Me.Text
 
Else
 
txt Items(e.Index).ToString
 End 
If
 
Dim colorRect As Rectangle = New Rectangle(e.Bounds.1e.Bounds.2ItemHeight 2ItemHeight 4)
 
Dim LRect As Rectangle = (e.Bounds)

LRect.+= colorRect.Width
 Dim sf 
As New StringFormat
 sf
.LineAlignment StringAlignment.Center ' center Text in Rectangle (ColoRect)
 ' 
Draw Colors Names
 e
.Graphics.DrawString(txte.Font, New SolidBrush(e.ForeColor), New Rectangle(LRect.1LRect.YLRect.WidthLRect.Height), sf)
 
' Check if user select color ..
 If CBool(e.State And DrawItemState.Selected) Then
 e.Graphics.FillRectangle(New SolidBrush(Me.mHighlightColor), e.Bounds)

Else
 e.Graphics.FillRectangle(New SolidBrush(e.BackColor), e.Bounds)
 End If

e.Graphics.FillRectangle(New SolidBrush(Color.FromName(txt)), colorRect)

e.Graphics.DrawString(txt, e.Font, New SolidBrush(e.ForeColor), New Rectangle(LRect.X + 1, LRect.Y, LRect.Width, LRect.Height), sf)
 sf.Dispose() ' 
free sf

End Sub

End 
Class 


الملفات المرفقة صورة/صور
       

.rar   ColorBoxDemo-CSharp.rar (الحجم : 51.07 ك ب / التحميلات : 36)
.rar   ColorBoxDemo-Vb.Net.rar (الحجم : 72.52 ك ب / التحميلات : 41)
الرد }}}
تم الشكر بواسطة:
#2
[COLOR="#800080"]السلام عليكم

بارك الله فيك اخي شكرا

فعلا شيء جميل تم التقييمSmile[/COLOR]
الرد }}}
تم الشكر بواسطة:
#3
sajad كتب :[COLOR="#800080"]السلام عليكم

بارك الله فيك اخي شكرا

فعلا شيء جميل تم التقييمSmile[/COLOR]
شكرا أخي sajad على ردك الجميل
الله يبارك فيك
الرد }}}
تم الشكر بواسطة:
#4
بسم الله ما شاء الله أداة رائعة
رابط قناتي على اليوتيوب :
https://www.youtube.com/user/OsamaAhmadGalal
رابط حساب الفيسبوك :

https://www.facebook.com/P.Osama.Ahmad.Galal
رابط حساب التويتر :
https://twitter.com/osamaahmadgalal
البريد الإلكتروني للتواصل :
OsamaAhmadGalal@Hotmail.Com
OsamaAhmadGalal@Yahoo.Com
OsamaAhmadGalal@Gmail.Com
رقم الموبايل :
00201122777845

الرد }}}
تم الشكر بواسطة:
#5
أسامة أحمد كتب :بسم الله ما شاء الله أداة رائعة
أنت أروع Smile
الرد }}}
تم الشكر بواسطة:


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم