PDA

View Full Version : انتخاب از combobox و افزودن متن به textbox



sabz12
جمعه 05 دی 1393, 17:02 عصر
اول تشکر می کنم از افرادی که این تالار را ساختن و تمام دوستانی که مشارکت می کنند در یادگیری هرچه بهتر انشاالله همیشه موفق باشید.
.......
می خواهم یک برنامه ساده بنویسم و در واقع این ها همه برای دست گرمی و تمرین هست.
1-آیا میشه در کمبو باکس یک گزینه انتخاب کنیم و کلمه دیگری اتو مات در تکس باکس بیاید؟به عنوان مثال علامت + انتخواب کنیم و کلمه جمع در تکس باکس بیاید ؟
2- اگر سوال اولی شدنی باشه می خواهم در تکس باکس به همین روش یک متن نوشته بشه ؟
در واقع این جور فکر کردم که دوتا کمبوباکس بزارم و کمبوباکس اولی کلمه اولی را بنویسه وقتی سراغ کمبوباکس دومی رفتم کلمه اولی تایید شده و کلمه دوم را با کمبوباکس دوم نوشته وکلمه سوم با کمبو باکس اولی و کلمه چهارم با کمبو باکس دوم و الا اخر .

قبلا از توجه شما تشکر می کنم

sabz12
جمعه 05 دی 1393, 17:25 عصر
در واقع من جستجو کردم ولی مطلب مورد نظر پیدا نکردم واین تاپیک را زدم تا تمام سوالاتم در مورد یک برنامه یک جا جمع و جور باشه اگر عنوان مناسبی برای تاپیت انتخاب نکردم بخاطر این که نمی دونم برنامه شدنی باشه یا نه ؟:ناراحت:

hsgpro
جمعه 05 دی 1393, 17:53 عصر
سلام
بفرمایید یه پروژه تست برای این چیزی که می خواین درست کردم دانلود کنید ببینید.

sabz12
شنبه 06 دی 1393, 08:49 صبح
اگر دوستان نبودن ما چه می کردیم با این همه ایرورها و خطاها واقعا حوصله می خواهد این برنامه نویسی خیلی ممنون و سپاس خوب تا جایی که سرم میشه یک تغییراتی دادم ولی نمدونم چکار کنم که تکس باکس 3 جمع تکسباکسها را نشون بده ؟؟؟و تبدیل به یک نوشته بشه من این تغییرات را دادم یک نگاهی بکنید .اصلا نمی دونم روشم درست یا نه جواب که نمیده چکار باید کرد؟؟؟

sabz12
شنبه 06 دی 1393, 09:03 صبح
البته نمیخوام یک باتن بزارم که این دو را باهم جمع کنه این فایده نداره می خواهم وقتی کمبوباکس دومی یک چیزی انتخاب شد تکس کمبوباکس اولی بیاد تو تکس باکس سوم و برعکس هی ادامه داشته باشه یعنی میشه؟!

hsgpro
شنبه 06 دی 1393, 09:08 صبح
کد شما درسته اما رویدادی که فراخوانی اش میکنه اشتباه است.
شما در رویداد TextChanged تکست باکس 3 کد ترکیب رو گذاشتید در صورتی که باید در همون رویداد SelectedIndexChanged کومبوباکس ها بذاریدش.
اگر کد نمایش ترکیب دو متن هم زیاد تر از یک خط شد می تونید یه تابع دلخواه براش بنویسید یا در رویداد TextChanged تکست باکس 1 و 2 بذارید تا تکست باکس 3 رو تغییر بدن.

sabz12
یک شنبه 07 دی 1393, 09:22 صبح
صبح زیباتون بخیر امید وارم روز خوبی داشته باشید
من هرکاری کردم که تو تکسباکس سومی حروف اضافه بشه و حذف نشه نشد یعنی با تغییر تکسباکس دوم تکس،تکسباکس اولی میره تو تکسباکس سوم -و با تغییر تکسباکس اول تکس،تکسباکس دوم میره تو تکسباکس سوم خوب دوباره با تغییر تکسباکس دوم باید تکس، تکسباکس اولی اضافه شه به تکسباکس ولی اضافه نمیشه هی پاک میشه.مگر غییر از این است که استریگ به استریگ الحاق میشه؟؟!!

sabz12
یک شنبه 07 دی 1393, 09:33 صبح
همین که این جا می پرسم مشکل برام حلاجی تر میشه و پیدا کردم
textBox3.Text = textBox3.Text + textBox2.Text;

sabz12
یک شنبه 07 دی 1393, 17:56 عصر
سلام و دوروددددد
خوب امید وارم پر انرژی و سرحال باشید
یکمی تمرینات را دارم انجام می دم نمی دونم درست یا نه!!
یک باتن می خوام بزارم و تکس باکس3 را پاک کنه این را گزاشتم در رویداد باتن کار درستی هست یا نه چون جواب داد؟روش پاک کردن تکس باکس همین ؟ textBox3.Text = "";
یک باتن هم می خوام بزارم که از راست به چپ پاک کنه باید از روش شمارش طول کاراکتر استفاده کنم ایا درست و یک واحد کم کنه هر دفعه؟
خوب چطوری تنظیم کنم که کاربر بتونه کمبوباکس ها را خودش پر کنه؟
با سپاس فراوان

hsgpro
یک شنبه 07 دی 1393, 18:14 عصر
سلام و دوروددددد
خوب امید وارم پر انرژی و سرحال باشید
یکمی تمرینات را دارم انجام می دم نمی دونم درست یا نه!!
یک باتن می خوام بزارم و تکس باکس3 را پاک کنه این را گزاشتم در رویداد باتن کار درستی هست یا نه چون جواب داد؟روش پاک کردن تکس باکس همین ؟ textBox3.Text = "";
یک باتن هم می خوام بزارم که از راست به چپ پاک کنه باید از روش شمارش طول کاراکتر استفاده کنم ایا درست و یک واحد کم کنه هر دفعه؟
خوب چطوری تنظیم کنم که کاربر بتونه کمبوباکس ها را خودش پر کنه؟
با سپاس فراوان

منظورتون از پاک کردن تکست باکس پاک کردن متن توش هست دیگه درسته؟ اگر بله آره همونطوریه درسته.
برای باتن پاک کردن از راست به چپ درسته با شمارش طول کاراکتر میشه اما به نظرم اینکه یه حرف یه حرف پاک کنه قشنگ نیست می تونید کد یه حرف یه حرف پاک کردن رو در یه کنترل Timer قرار بدید و با کلیک روی باتن Timer فعال بشه و وقتی کارش تموم شد غیرفعالش کنید.اینطوری هم یه انیمیشنی هم براش ایجاد میشه هم دیگه دونه دونه نیست
کومبوباکس ها را مستقیم نمیشه کاربر خودش پر کنه می تونید در کومبوباکس یه گزینه با عنوان "اضافه کردن" بذارید که هر بار روی این گزینه کلیک شد یه فرم دیگه باز بشه و متن عنوان آیتم رو بخواد اینطوری کاربر خودش دونه دونه با کلیک روی گزینه اضافه کردن آیتم های دلخواه خودش رو اضافه میکنه.

sabz12
یک شنبه 14 دی 1393, 14:40 عصر
سلام
امیدوارم حالتون خوب و سرحال باشید .
در باتن رویداد mousedown نتونستم با تایمر هماهنگش کنم یعنی در رویداد تایمر قسمت tick باتن دو نمی یاد.چطوری می تونم وقتی کلیک سمت چپ موس فشورده هست نوشته های داخل richbox2 را پاک کنم یعنی مثل backspace ؟

hsgpro
یک شنبه 14 دی 1393, 20:43 عصر
بفرمایید.
الان در رویداد MouseDown تایمر فعال میشه و در رویداد MouseUp غیرفعال میشه.
کد حذف حرف به حرف هم در رویداد Tick تایمر قرار گرفت.
اینطوری هر وقت دکمه موس کلیک شده باشه تایمر دونه دونه حذف میکنه و اگه کلیک موس رها بشه تایمر غیرفعال میشه.

sabz12
چهارشنبه 17 دی 1393, 11:34 صبح
سلام

دوتا رچباکس دارم می خواهم شرط بزارم وقتی موس یعنی (کرسر موس )داخل رچباکس1 هست.مگر این نمیشه؟
(()if(richtextbaxt1.focus

hsgpro
چهارشنبه 17 دی 1393, 12:19 عصر
سلام

دوتا رچباکس دارم می خواهم شرط بزارم وقتی موس یعنی (کرسر موس )داخل رچباکس1 هست.مگر این نمیشه؟
(()if(richtextbaxt1.focus

نه این یعنی وقتی تمرکز صفحه رفت روی richtextbox
تمرکز صفحه یعنی همونی که با کلید Tab در صفحه کلید می تونید بین کنترل ها سوئیچ کنید.

اگر می خواین وقتی موس روی richtextbox هست عملی انجام بشه باید در رویداد MouseEnter کنترل richtextbox کدی که باید اجرا بشه رو بذارید بعد تو رویداد MouseLeave هم می تونید کدی که کد قبل رو غیرفعال میکنه یا هر چیزی که نیازه رو بذارید.

sabz12
چهارشنبه 17 دی 1393, 13:50 عصر
با تشکر
در فایل تمرینی قبلی می خواهم هر جا باتن را فشار می دهم شروع کنه به پاک کردن، درست مثل
backspace کی برد، اول فکر کردم از focus باید اسفاده بشه خوب چطوری بهش بگم هرجا کرسر موس هست عمل پاک کردن را انجام بده .
سرچی هم که کردم این کد را پیدا کردم که نمی دونم چه فرقی با بالایی داره خوب این هم پاک میکنه اون قسمتی که زیر خط دارش کردم نمیدونم یعنی چه؟
if (richBox2.SelectionStart != 0)
{
int sel_start = richBox2.SelectionStart;
richBox2.Text = richBox2.SelectionLength == 0 ? richBox2.Text.Remove(sel_start - 1, 1) : richBox2.Text.Remove(sel_start, richBox2.SelectionLength);
richBox2.SelectionStart = sel_start - 1;
richBox2.SelectionLength = 0;
}

hsgpro
چهارشنبه 17 دی 1393, 16:36 عصر
با تشکر
در فایل تمرینی قبلی می خواهم هر جا باتن را فشار می دهم شروع کنه به پاک کردن، درست مثل
backspace کی برد، اول فکر کردم از focus باید اسفاده بشه خوب چطوری بهش بگم هرجا کرسر موس هست عمل پاک کردن را انجام بده .
سرچی هم که کردم این کد را پیدا کردم که نمی دونم چه فرقی با بالایی داره خوب این هم پاک میکنه اون قسمتی که زیر خط دارش کردم نمیدونم یعنی چه؟

if (richBox2.SelectionStart != 0)
{
int sel_start = richBox2.SelectionStart;
richBox2.Text = richBox2.SelectionLength == 0 ? richBox2.Text.Remove(sel_start - 1, 1) : richBox2.Text.Remove(sel_start, richBox2.SelectionLength);
richBox2.SelectionStart = sel_start - 1;
richBox2.SelectionLength = 0;
}

می خواین وقتی روی دکمه کلیک میشه آخرین حرف اون جایی از richtextbox که انتخاب شده مثل کلید backspace حذف بشه؟
من قبلاً یه پروژه ای مربوط به همین کار شما نوشته بودم اون موقع از تابع SendKey برای این کار استفاده کردم.
من در دکمه ای که برای حذف آخرین حرف است این کد رو گذاشتم دوست داشتید استفاده کنید:


if (richTextBox1.SelectedText == "")
{
richTextBox1.SelectionStart = richTextBox1.Rtf.Length;
richTextBox1.Focus();
SendKeys.Send("{Backspace}");
}
else
{
richTextBox1.Focus();
SendKeys.Send("{Delete}");
}


این کد کاملاً استاندارد نیست اما کار راه انداز که هست:لبخند:

sabz12
چهارشنبه 17 دی 1393, 16:53 عصر
یعنی در کلک تایمر وارد کنم نشد که
سوال من شبیه این سوال هست http://barnamenevis.org/showthread.php?313134-%D9%88%D8%A7%D8%B1%D8%AF-%DA%A9%D8%B1%D8%AF%D9%86-%D9%85%D8%AA%D9%86-%D8%AF%D8%B1-textbox-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D8%B4%D8%AF%D9%87


نمی دونم چی بگم

sabz12
چهارشنبه 17 دی 1393, 16:57 عصر
اصلا شاید تکس باکس و.... زیادی داشته باشیم با یک کلید می خواهیم عمل پاک کردن در جای مناسب انجام بشه چی باید سرچ کنم در مورد چی باید بگردم یعنی راهنمای کنید که خودم پیداش کنم

sabz12
جمعه 19 دی 1393, 11:08 صبح
یک کد پدا کردم اینجا بکرم می یاد یا نه اگه میشه چجوری یعنی رو کلاس بیشتر مطالعه داشته باشم مشکلم حل میشه:گیج:
public void ClearControls(params Control[] ctls)
{
foreach (Control ct in ctls)
ct.Text = "";
}

private void button1_Click(object sender, EventArgs e)
{
ClearControls(textBox1, textBox2, comboBox1);
}
.............