PDA

View Full Version : غیر فعال کردن curser در textBox



M.YasPro
چهارشنبه 12 اسفند 1388, 13:08 عصر
سلام
وقتی textbox فوکوس میشه و یه کرسر درون تکس باکس شروع به چشمک زدن می کنه .
من میخوام اون کرسر رو غیر فعال کنم .
یعنی میخوام رفتار یه label رو داشته باشه .!!
ممنون از توجهتون

AliRezaPro
چهارشنبه 12 اسفند 1388, 16:04 عصر
یعنی صرفا یک متن رو نشان دهد؟با دیسیبل کردم مشکلتون حل نمیشه؟

M.YasPro
چهارشنبه 12 اسفند 1388, 16:15 عصر
ممنون از جوابتون
نه ، چون با enable=false رنگ فونت به خاکستری بر میگرده ..

AliRezaPro
پنج شنبه 13 اسفند 1388, 10:56 صبح
من نمی فهمم شما می خواهید چیکار کنید
ولی اینجا رو ببینید

http://www.codeproject.com/Messages/1891052/Disable-TextBox-cursor.aspx

BILLY_Mgs
جمعه 14 اسفند 1388, 16:12 عصر
اول : this.Textbox.ReadOnly = true;
بعد :
this.Textbox.BackColor = System.Drawing.SystemColors.Window;

البته این رنگ که نوشتم برای مثال هستش شما رنگ فرمتون بزارید که به نظر لیبل بیاد...

multiman
یک شنبه 16 اسفند 1388, 03:09 صبح
از دستور send to استفاده کن حتما مشکلت حل میشه

M.YasPro
یک شنبه 16 اسفند 1388, 07:42 صبح
اول : this.Textbox.ReadOnly = true;
بعد :
this.Textbox.BackColor = System.Drawing.SystemColors.Window;

البته این رنگ که نوشتم برای مثال هستش شما رنگ فرمتون بزارید که به نظر لیبل بیاد...

ممنون از جوابتون ولی منظور من curser بود نه readonly کردن


از دستور send to استفاده کن حتما مشکلت حل میشه
منظورتون رو متوجه نمیشم . منظورتون control.sendToBack که نیست ؟

BILLY_Mgs
یک شنبه 16 اسفند 1388, 17:39 عصر
this.TextBox.Cursor = Cursors.Arrow;

M.YasPro
یک شنبه 16 اسفند 1388, 18:26 عصر
نه دوست عزیز منظورم از کرسر اون علامت چشمک زنه که توی تکس باکس میاد .

BILLY_Mgs
یک شنبه 16 اسفند 1388, 21:39 عصر
راستش کدی که چنین کاری رو بکنه ندارم ولی 1 پیشنهاد و 1 راهنمایی هست :
به این عکس نگاه کنید :
http://www.4shared.com/file/236249663/19d27880/Underline_ScreenKeep.html
تو قسمت کنترل پنل و کیبورد 1 قسمت هست که شما میتونین این خواصیت رو بردارید یعنی دیگه چشمک نزنه ...
حالا دیگه کدش و جسنتجوش با خودتون....

M.YasPro
دوشنبه 17 اسفند 1388, 07:10 صبح
ممنون از جواب های شما .
ولی واسه یه همچین کاری به نظرم درست نباشه که بخوایم تنظیمات کل تکس باکس های os مون رو تغییر بدیم .

multiman
دوشنبه 17 اسفند 1388, 11:20 صبح
دستور ()sendto.
در پرانتز این دستور میتونی کد مربوط به هر دکمه ای از کیبورد و بنویسی.
باید ببینم با زدن کدوم یکی از دکمه های کیبورد عمل فوکوس از بین میره. اون دکمه را پیدا میکنم ، بعد کد این دکمه را در دستور ()sendto میذارم و مشکل حل میشه

M.YasPro
دوشنبه 17 اسفند 1388, 11:27 صبح
دستور ()sendto.
در پرانتز این دستور میتونی کد مربوط به هر دکمه ای از کیبورد و بنویسی.
باید ببینم با زدن کدوم یکی از دکمه های کیبورد عمل فوکوس از بین میره. اون دکمه را پیدا میکنم ، بعد کد این دکمه را در دستور ()sendto میذارم و مشکل حل میشه


با این:


SendKeys.Send("{TAB}");

ولی من نمیخوام اینکارو کنم . میخوام کلا اینو غیر فعال کنم.
ممنون از جوابتون

saed2006
دوشنبه 17 اسفند 1388, 11:41 صبح
میشه بگی واسه چه کاری هست که اینقدر اصرار داری از lable استفاده نکنی و..

M.YasPro
دوشنبه 17 اسفند 1388, 12:12 عصر
یه چیزی مثل message box میخوام درست کنم .ولی با باتن های بیشتر .
label رو چه جوری rtl کنم که وقتی تو runtime بهش مقداردادم به هم نریزه؟

Himalaya
دوشنبه 17 اسفند 1388, 19:49 عصر
یعنی چی label رو چه جوری rtl کنم ؟
فکر کنم منظورت زمانی هستش که متن انگلیسی با فارسی ترکیب میشه... معمولا این مشکل با RightToLeft کردن و چیدن متن از سمت راست حل میشه


Label label1 = new System.Windows.Forms.Label();
label1.Location = new System.Drawing.Point(200, 200);
label1.Name = "label1";
label1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
label1.TextAlign = ContentAlignment.MiddleRight;
label1.Size = new System.Drawing.Size(100, 70);
label1.TabIndex = 1;
label1.Text = "hi";
this.Controls.Add(label1);


[/code]

M.YasPro
سه شنبه 18 اسفند 1388, 07:32 صبح
مشکل من هم اون موقع هست و هم زمانی که متن من چند خط میشه.

ASKaffash
سه شنبه 18 اسفند 1388, 08:40 صبح
سلام
خوب AutoSize مربوط به Label را false کنید تا مثل یک Textbox عمل کند دراین حالت طول کنترل در اختیار شماست

M.YasPro
سه شنبه 18 اسفند 1388, 11:12 صبح
این کار رو انجام دادم ولی وقتی چند خط متن بهش مقدار میدم خط های اول به بعد چپ چین میشن .

ASKaffash
سه شنبه 18 اسفند 1388, 11:24 صبح
سلام
اینها رو تنظیم کردی :


this.label1.RightToLeft = RightToLeft.Yes;
this.label1.TextAlign = ContentAlignment.MiddleCenter;

Himalaya
سه شنبه 18 اسفند 1388, 11:35 صبح
آقا یه مثال کوچیک درست کن بزار اینجا بگو میخوام اینجاش اینطوری بشه... تو runtime هم لیبل رو پر کن و حالتی رو که متن به هم میریزه رو بزار اینجا تا ببینیم چیه

Sajjad.Aghapour
سه شنبه 18 اسفند 1388, 23:13 عصر
1.
اگر از TextBox می خواهید استفاده کنید که در اینجا پیشنهاد نمیکنم:

علامت چشمک زنی که در TextBox وجود داره به انگلیسی Caret گفته میشه و برای مخفی کردن اون باید از API و تابع HideCaret استفاده کنید

http://www.google.com/search?hl=en&rlz=1C1_____enIR366IR366&q=hide+caret+in+textbox+using+c%23&btnG=Search&aq=f&aqi=&aql=&oq=

http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/14565bc3-19c4-45b9-a932-4fed3a4893a4

2.
اگه از Label استفاده میکنید که در اینجا پیشنهاد میشه:

راه هایی که دوستان گفتن رو اعمال کنید.البته نیازی به ست کردن TextAlign نیست.شما میتونید برای Wrap کردن متن از خاصیت Anchor استفاده کنید...

موفق باشید/