PDA

View Full Version : سوال: چطوری میشه یه تکست باکس سفارشی اما با خاصیت کمبوباکس(نمایش لیست) باشه؟



دلتنگ اسمان
چهارشنبه 01 آبان 1392, 14:28 عصر
سلام
یه تکست باکس میخوام بسازم که وقتی روش کلیک میکنی مثل کمبوباکس لیست نشون بده.یا یه عبارتی هم میشه گفت کمبوباکسی که شکل زبونه مانند رو نداشته باشه.اما وقتی روش کلیک میکنی لیست نشون بده.

CannibalCorpse
چهارشنبه 01 آبان 1392, 14:32 عصر
یه کلکی که میشه زد اینه که در واقع شما واقعا یه دراپ دان دارید ولی قسمت زبونه ش رو زیر یه آبجکت دیگه ببرید.

دلتنگ اسمان
پنج شنبه 02 آبان 1392, 18:05 عصر
وقتی خاصیت مولتی لاین تکست باکس رو فعال کنی و سایز تکست باکس رو تغییر بدی لیست شبیه به کمبوباکس درست میشه. حالا مشکل من اینه که وقتی هر خط از این تکست باکس رو که میخوام انتخاب کنم مثل کمبوباکس رنگ سطر انتخاب شده عوض بشه و با یک کلیک کردن اون متن ،مقدار تکس باکس همون مقدار انتخابی بشه.

sohil_ww
پنج شنبه 02 آبان 1392, 18:15 عصر
من متوجه نمی شم این کار برای چی هست و چی می تونه باشه

بیشتر دیدم که برای این کار از یک گرید زیر تکس باکس استفاده می کنن و وقتی متنی وارد می شه گرید نمایش داده می شه

اگه بیشتر توضیح بدید برای چی می خواید بیشتر می شه کمک کرد

دلتنگ اسمان
پنج شنبه 02 آبان 1392, 18:23 عصر
من متوجه نمی شم این کار برای چی هست و چی می تونه باشه

بیشتر دیدم که برای این کار از یک گرید زیر تکس باکس استفاده می کنن و وقتی متنی وارد می شه گرید نمایش داده می شه

اگه بیشتر توضیح بدید برای چی می خواید بیشتر می شه کمک کرد
میخوام در عرض فرمم 31تا از این تکس باکس ها بذارم. اگه از کمبوباکس استفاده کنم عرض فرمم بزرگ میشه و اسکرول فعال میشه. میخوام از تکس باکس استفاده کنم.میشه گفت چیزی شبیه به سلولهای اکسل در تصویر 112176.

aliagamon
پنج شنبه 02 آبان 1392, 21:17 عصر
شما یه لیست باکس بزار و ممخفیش کن رو هر تکست باکسی کلیک میشه مختصاتش بیاد زیر تکست باکس و اطلاعاتش بشه اونایی که باید تو اون تکست باکس باشه .... یه همچین چیزی کارو انجام میده ....

دلتنگ اسمان
پنج شنبه 02 آبان 1392, 23:09 عصر
شما یه لیست باکس بزار و ممخفیش کن رو هر تکست باکسی کلیک میشه مختصاتش بیاد زیر تکست باکس و اطلاعاتش بشه اونایی که باید تو اون تکست باکس باشه .... یه همچین چیزی کارو انجام میده ....
ممنون . شاید بشه کار رو راه انداخت. اما اصولی نیست.
شاید بشه یه آبجکتی جدید از ترکیب کمبو و تکست باکس ساخت که اینکار رو انجام بده.اینجوری بهتر نیست.؟ شایدم ترکیبی از تکست باکس و لیست باکس.البته اگه بتونم. اگه میشه توی تین زمینه راهنماییم کنین.

pedram.11
جمعه 03 آبان 1392, 10:41 صبح
ببخشید شاید درست متوجه نشدم.چیزی که من توی تصویر دیدم شما میخواید یک کمبو باکس داشته باشید که فقط سیمبول لیست رو نشون بده و وقتی روش کلیک میکنید سایز لیست بزرگتر از خود کمبو باشه؟

دلتنگ اسمان
جمعه 03 آبان 1392, 10:57 صبح
ببخشید شاید درست متوجه نشدم.چیزی که من توی تصویر دیدم شما میخواید یک کمبو باکس داشته باشید که فقط سیمبول لیست رو نشون بده و وقتی روش کلیک میکنید سایز لیست بزرگتر از خود کمبو باشه؟
بله کاملا درسته. میشه کمکم کنید

pedram.11
جمعه 03 آبان 1392, 11:04 صبح
خب برای اینکار نیاز به ساختن کنترل جدید یا سفارشی کردن کنترل نیست. شما میتونید یک کمبو باکس به فرم اضافه کنید. خاصیت width کنترل رو کم کنید تا حدی که فقط سیمبول نمایش داده بشه(مثلا 17). برای بزرگ کردن عرض لیست هم خاصیت DropDownWidth رو زیاد کنید(مثلا 150)

دلتنگ اسمان
جمعه 03 آبان 1392, 11:18 صبح
خب برای اینکار نیاز به ساختن کنترل جدید یا سفارشی کردن کنترل نیست. شما میتونید یک کمبو باکس به فرم اضافه کنید. خاصیت width کنترل رو کم کنید تا حدی که فقط سیمبول نمایش داده بشه(مثلا 17). برای بزرگ کردن عرض لیست هم خاصیت DropDownWidth رو زیاد کنید(مثلا 150)
شما کاملا درست میفرمایید. اما فکر کنم من اشتباه گفتم میخوام اینطوری باشه :قسمت سیمبول حذف بشه و اون قمستی که لیست رو نشون میده بمونه که بعد از انتخاب هم متن روی اون نشون داده بشه.چون در این حالتی که شما گفتید بعد از انتخاب متن مورد نظر لیست کمبو بسته میشه و متن انتخابی زیر زبانه مخفی میمونه.

دلتنگ اسمان
جمعه 03 آبان 1392, 11:30 صبح
البته طبق راهنمایی جناب aliagamon (http://barnamenevis.org/member.php?214213-aliagamon) از لیست باکس استفاده کردم. تنها مشکلی که توی لیست باکس دارم بعد از انتخاب ایتم مورد نظر ، که لیست هم کوچیک میشه اما اسکرول عمودی فعال میشه و دوباره اون متن مخفی میمونه

aliagamon
جمعه 03 آبان 1392, 12:21 عصر
ListBox1.ScrollAlwaysVisible = false;

pedram.11
جمعه 03 آبان 1392, 12:37 عصر
شاید این کلاس به کارتون بیاد:
public class CTextBox:ComboBox
{
public CTextBox()
{
this.DropDownStyle = ComboBoxStyle.Simple;
this.Height = 22;
}
protected override void OnClick(EventArgs e)
{
this.DropDownStyle = ComboBoxStyle.DropDown;
this.DroppedDown = true;
base.OnClick(e);
}
protected override void OnDropDownClosed(EventArgs e)
{
this.DropDownStyle = ComboBoxStyle.Simple;
base.OnDropDownClosed(e);
}
}

در حالت عادی به ظاهر تکست باکس هست اما موقع کلیک تبدیل به کمبو باکس میشه و بعد از انتخاب آیتم یا بسته شدن DropDownList دوباره به حالت تکست باکس برمیگرده

khokhan
جمعه 03 آبان 1392, 13:41 عصر
ا که لیست هم کوچیک میشه اما اسکرول عمودی فعال میشه و دوباره اون متن مخفی میمونه
تکست باکس با امکان وات مارک و اتوکامپلت و دروپ داون با کلیک بر روی آن و لیست متصل به دیتابیس .................................................. .........:لبخند:
112209

pedram.11
جمعه 03 آبان 1392, 13:59 عصر
تکست باکس با امکان وات مارک و اتوکامپلت و دروپ داون با کلیک بر روی آن و لیست متصل به دیتابیس .................................................. .........:لبخند:
112209

شما خودت اگه برنامه نویس این پروژه باشی اینکارو میکنی که با این مدل کد نویسی 31 تکست باکس و 31 لیست باکس در فرم قرار بدید؟ و برای هر کنترل یک رویداد کلیک و دابل کلیک بذارید؟!

khokhan
جمعه 03 آبان 1392, 14:10 عصر
شما خودت اگه برنامه نویس این پروژه باشی اینکارو میکنی که با این مدل کد نویسی 31 تکست باکس و 31 لیست باکس در فرم قرار بدید؟ و برای هر کنترل یک رویداد کلیک و دابل کلیک بذارید؟!
عزیز فقط ارائه راهکار بود :لبخند:

............................................ حالا چرا می زنی !!!!!!!!!!