منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ممكن كود يجعل ComboBox يفتح تلقائيا عند بدأ الكتابة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله و بركاته
أخواني الاعضاء :
ممكن كود يجعل ComboBox يفتح تلقائيا عند بدأ الكتابة :confused:
السلام عليكم

اخي العزيز سؤالك غير واضح؟

هل تقصد التكملة التلقائية للكلمات مثل الgoogle؟
نعم أخي الكريم
السلام عليكم اخي العزيز

ركز معي جيدا:

اولا هنالك ثلاث خصائص للCombobox مختص بالتكملة التلقائية للكلمات:

1- خاصية AutoCompleteCustomSource ومن خلاله نضيف البيانات الىها عن طريق الAdd لكي يكون حاوية للكلمات التي ستقارن بالتي تكتب بالCombobox
2- خاصية AutoCompleteMode ويحتوي على ثلاث حقول: الاول Suggest والثاني Append والثالث يضم الاول والثاني SuggestAppend أي (أقترح وأكمل الكلمة)
3- AutoCompleteSource من خلاله نحدد مصدر البيانات

اليك هذا المثال:

اولا اجعل خاصية AutoCompleteSource=CustomSource
ثانيا اجعل خاصية AutoCompleteMode=SuggestAppend

واكتب هذا الكود في حدث الLoad للفورم

PHP كود :
Dim names() As String = {"sajad","سمير","ameer","amjad","aya" }
ComboBox1.AutoCompleteCustomSource.AddRange(names

ثم نفذ واكتب أي اسم موجود ضمن المصفوفة وشاهد النتيجة
شكراً أستاذ Sajad وووجزاك الله خير
جربت الكود وتنفذ 100% قمة الروعة
السلام عليكم

العفو اخي العزيز نحن في الخدمة ان شاءالله
(08-05-13, 08:42 PM)Sajad كتب : [ -> ]السلام عليكم اخي العزيز

ركز معي جيدا:

اولا هنالك ثلاث خصائص للCombobox مختص بالتكملة التلقائية للكلمات:

1- خاصية AutoCompleteCustomSource ومن خلاله نضيف البيانات الىها عن طريق الAdd لكي يكون حاوية للكلمات التي ستقارن بالتي تكتب بالCombobox
2- خاصية AutoCompleteMode ويحتوي على ثلاث حقول: الاول Suggest والثاني Append والثالث يضم الاول والثاني SuggestAppend أي (أقترح وأكمل الكلمة)
3- AutoCompleteSource من خلاله نحدد مصدر البيانات

اليك هذا المثال:

اولا اجعل خاصية AutoCompleteSource=CustomSource
ثانيا اجعل خاصية AutoCompleteMode=SuggestAppend

واكتب هذا الكود في حدث الLoad للفورم


PHP كود :
Dim names() As String = {"sajad","سمير","ameer","amjad","aya" }
ComboBox1.AutoCompleteCustomSource.AddRange(names

ثم نفذ واكتب أي اسم موجود ضمن المصفوفة وشاهد النتيجة

مشكور اخي .. كيف اعمل تكملة تلقائي textboox من قاعدة بيانات
سلام

هذا يعتمد على طريقة الربط مع قاعدة البيانات، فيه الطريقه الربط بالمعالج وفيه طريفه الربط بالكود

طريقه الربط بالمعالج
حدد الخاصيه AutoCompleteMode على Suggest
وحدد الخاصيه AutoCompleteSource على ListItems
وحدد الخاصيه DataSource على اسم الجدول من الداتاسورس
وحدد الخاصيه DisplayMember على اسم العمود اللي يبيه يظهر عي العاصر
وحدد الخاصيه ValueMember على اسم العمود وغابا يكون id

طريقه الربط باكود
كود :
Dim cnn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;")

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim dataAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [tb1]", cnn)
    Dim dataTable As New DataTable
    dataAdapter.Fill(dataTable)
    ComboBox1.DataSource = dataTable
    ComboBox1.DisplayMember = "fullName"
    ComboBox1.ValueMember = "id"
    ComboBox1.AutoCompleteMode = AutoCompleteMode.Suggest
    ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems

End Sub

موفقين