نمایش نتایج 1 تا 12 از 12

نام تاپیک: یادآوری مقادیر وارد شده در TextBox

  1. #1

    Question یادآوری مقادیر وارد شده در TextBox

    با سلام
    من در فرم لاگین یک TextBox به عنوان نام کاربری دارم. حالا می خوام هر کاربری که یک بار نام کاربریش رو در این TextBox وارد کرد، موقع لاگین در مرتبه های بعدی هنگامی که کاربر شروع به تایپ کرد، مقادیر ورود شده از قبل رو به کاربر نشان دهد تا کاربر دیگر مجبور به تایپ مجدد همه موارد نباشد.
    ممنون

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1391
    پست
    1,037

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط MasoudAdmin مشاهده تاپیک
    با سلام
    من در فرم لاگین یک TextBox به عنوان نام کاربری دارم. حالا می خوام هر کاربری که یک بار نام کاربریش رو در این TextBox وارد کرد، موقع لاگین در مرتبه های بعدی هنگامی که کاربر شروع به تایپ کرد، مقادیر ورود شده از قبل رو به کاربر نشان دهد تا کاربر دیگر مجبور به تایپ مجدد همه موارد نباشد.
    ممنون
    اول اون TextBox تون رو بردارید بندازید دور. بدرد کار ما نمیخوره. بجاش یک ComboBox بذارید.
    در تنظیمات ComboBox هم این وارد رو وارد کنید (دوست داشتید در پنجره Properties و نخواستید در کد برنامه موقع بالا اومدن فرم)

    private void Form1_Load(object sender, EventArgs e)
    {
    comboBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
    comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
    comboBox1.DropDownStyle = ComboBoxStyle.Simple;
    }


    حالا موقعی که فرم باز میشه، باید لیست کاربری رو بذاریم داخل ComboBox که موقع تایپ کردن خودکار پیشنهاد کنه.
    اما اول باید محل ذخیره شدن لیست کاربری رو مشخص کنیم. در منوی Project ویژوال استدیو اون گزینه ...project name} Properties} رو انتخاب کنید که project name اسم پروژه شما است.
    در زبانه Settings اش در آخرین سطر لیست در ستون Name روی Settings دوبار کلیک کنید و تا به حالت ویرایش دربیاد و بنویسید Usernames و Enter رو بزنید تا عنوان Usernames از نوع string ایجاد بشه. پروژه رو ذخیره کنید و برگردید سر کد فرم تون. در دو جا باید به این Usernames مون رجوع کنیم. یکی وقتی فرم تازه داره نمایش داده میشه یعنی رخداد Shown :

    private void Form1_Shown(object sender, EventArgs e)
    {
    var users = Properties.Settings.Default.Usernames.Split(new char[] { '\t' }
    , StringSplitOptions.RemoveEmptyEntries);
    comboBox1.Items.Clear();
    comboBox1.Items.AddRange(users);
    }


    و دفعه دومی وقتی که نام کاربری وارد شده رو تایید کردید و لاگین انجام شده و احتمال میدیم که این نام کاربر در لیست جدید ئه و باید برای دفعات بعدی ذخیره بشه :

    var username = comboBox1.Text.Trim();
    var users = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
    foreach (string user in comboBox1.Items)
    {
    users[user] = 0;
    }
    if (users.ContainsKey(username) == false)
    {
    users.Add(username, 0);
    comboBox1.Items.Add(username);
    comboBox1.AutoCompleteSource = AutoCompleteSource.None;
    comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
    }
    var usernames = new string[users.Count];
    users.Keys.CopyTo(usernames, 0);
    Properties.Settings.Default.Usernames = string.Join("\t", usernames);
    Properties.Settings.Default.Save();

  3. #3

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    با سلام
    با سپاس فراوان. الان فقط یه مشکلی هست. بار دوم کار نام کاربری رو میزنم تو لیست پیشنهاداتش میاره ولی وقتی انتخاب می کنم ComboBox خالی میشه و دوباره باید تا آخر نام کاربری رو تکمیل کنم!!
    آخرین ویرایش به وسیله MasoudAdmin : شنبه 09 آذر 1398 در 12:32 عصر

  4. #4

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط MasoudAdmin مشاهده تاپیک
    با سلام
    با سپاس فراوان. الان فقط یه مشکلی هست. بار دوم کار نام کاربری رو میزنم تو لیست پیشنهاداتش میاره ولی وقتی انتخاب می کنم ComboBox خالی میشه و دوباره باید تا آخر نام کاربری رو تکمیل کنم!!

    سلام. کسی نیست؟ مشکلی که گفتم رو چجوری می تونم رفع کنم؟

  5. #5

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط MasoudAdmin مشاهده تاپیک
    سلام. کسی نیست؟ مشکلی که گفتم رو چجوری می تونم رفع کنم؟
    شاید مشکل از کدنویسی مجزایی هست که داری!!!؟ چون بعد از نوشت یوخدش اگه هرکدوم انتخاب کنی (کلیک بشه) باکس بعنوان متن انتخاب می کنه...

  6. #6

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط ROSTAM2 مشاهده تاپیک
    شاید مشکل از کدنویسی مجزایی هست که داری!!!؟ چون بعد از نوشت یوخدش اگه هرکدوم انتخاب کنی (کلیک بشه) باکس بعنوان متن انتخاب می کنه...
    با سلام. دقیقا کدهایی که دوست عزیز (the king)گفته بودن رو نوشتم. دیگه نمی دونم چکار کنم؟

  7. #7

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    دقیقا کدهایی که دوست عزیز (the king)گفته بودن رو نوشتم
    سلام. شما فقط به این کد نیاز داری:
    comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

    بقیه اش دیگه اضافه کردن اسامی کاربریه که به Items اضافه می کنی که از نظر من TextBox داشته باشی قشنگ تره! و این خصوصیت رو
    : comboBox1.AutoCompleteSource;
    برابر با cUSTOMsOURCE بشه و خصوصیت customSourceList هستکه آیتم ها رو دریافت می کنه...

  8. #8

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط ROSTAM2 مشاهده تاپیک
    سلام. شما فقط به این کد نیاز داری:
    comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

    بقیه اش دیگه اضافه کردن اسامی کاربریه که به Items اضافه می کنی که از نظر من TextBox داشته باشی قشنگ تره! و این خصوصیت رو
    : comboBox1.AutoCompleteSource;
    برابر با cUSTOMsOURCE بشه و خصوصیت customSourceList هستکه آیتم ها رو دریافت می کنه...
    سلام. تو کدها پشت کلید ok موقع لاگین این مورد رو گذاشتم. جای دیگه ای هم باید ست کنم؟

  9. #9

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط MasoudAdmin مشاهده تاپیک
    با سلام
    من در فرم لاگین یک TextBox به عنوان نام کاربری دارم. حالا می خوام هر کاربری که یک بار نام کاربریش رو در این TextBox وارد کرد، موقع لاگین در مرتبه های بعدی هنگامی که کاربر شروع به تایپ کرد، مقادیر ورود شده از قبل رو به کاربر نشان دهد تا کاربر دیگر مجبور به تایپ مجدد همه موارد نباشد.
    ممنون

    عزیز چرا خودتو خسته میکنی.بهترین کار استفاده از کامپوننت هست.من خودم از کامپوننت تلریک استفده کردم.داده ها رو از دیتابیس میخونم.وقتی کاربر مثلا حرف A رو وارد کرد اتوماتیک وار خودش فیلتر میکنه.کدش هم خیلی خیلی سادست.

  10. #10

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط mandagarana مشاهده تاپیک
    عزیز چرا خودتو خسته میکنی.بهترین کار استفاده از کامپوننت هست.من خودم از کامپوننت تلریک استفده کردم.داده ها رو از دیتابیس میخونم.وقتی کاربر مثلا حرف A رو وارد کرد اتوماتیک وار خودش فیلتر میکنه.کدش هم خیلی خیلی سادست.
    ممنون. چون نمیخواستم از کامپوننت استفاده کنم این روش رو رفتم. مشکلش رو هم فهمیدم. باید خاصیت DropDwonStyle رو به حالت DropDown تغییر میدادم.

  11. #11

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    نقل قول نوشته شده توسط MasoudAdmin مشاهده تاپیک
    تو کدها پشت کلید ok موقع لاگین این مورد رو گذاشتم. جای دیگه ای هم باید ست کنم؟
    برای ذخیره اسامی کاربرا که هرکجا می خوای ذخیره کنی با همون کلید ok بعد از لاگین باشه ولی برای بازیابی و ست کردنش با customsource باید هنگام load پنجره اسامی فراخوانی بشند.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مرداد 1392
    محل زندگی
    شیراز-کرمانشاه
    پست
    279

    نقل قول: یادآوری مقادیر وارد شده در TextBox

    سلام
    دوست عزیز بهتره نام کاربر رو در ریجیستری ذخیره کنی
    و بعد موقع لاگین توی لود فرم لاگین مقدار ریجیستری رو برگردونی
    خیلی هم ساده هست
    هم اینکه اخرین یوزری که رو سیستم حاضر وارد بشه رو همیشه نگه میداره
    نیاز بود بفرما تا کدش رو برات بذارم

تاپیک های مشابه

  1. پاسخ: 3
    آخرین پست: سه شنبه 17 تیر 1393, 18:27 عصر
  2. پاسخ: 7
    آخرین پست: دوشنبه 11 فروردین 1393, 00:38 صبح
  3. پاسخ: 2
    آخرین پست: سه شنبه 23 آذر 1389, 23:17 عصر
  4. پاسخ: 3
    آخرین پست: پنج شنبه 07 مرداد 1389, 19:04 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •