PDA

View Full Version : دنبال كد backspace مي گردم دقيقا مثل backspace كاركنه



sabz12
سه شنبه 02 تیر 1394, 13:25 عصر
يك رچباكس و يك باتن دارم مي خوام وقتي روي باتن ميزنم از جايي كه كرسر موس هست شروع كنه به پاك كردن اين كد را ديدم ولي اين فقط از اول شروع به پاك كردن ميكنه مي تنيد كمك كنيد؟ نمي دونم اين درست يا نه ميشه بهش گفت ازجايي كه كرسر هست طول رشته را بگيره؟؟؟؟!!!!!!!
richTextBoxCod.Text = richTextBoxCod.Text.Remove(richTextBoxCod.TextLeng th - 1);

reza_ali202000
سه شنبه 02 تیر 1394, 13:52 عصر
این کد رو جایگزین کن. کار راه بنداز هس.:لبخند:

richTextBoxCod.Focus();
SendKeys.Send("{BackSpace}");

mehrdad1991h
سه شنبه 02 تیر 1394, 14:37 عصر
int index = richTextBox1.SelectionStart;
richTextBox1.Text = richTextBox1.Text.Remove(richTextBox1.SelectionSta rt - 1, 1);
richTextBox1.Select(index - 1, 1);
richTextBox1.Focus();

sabz12
چهارشنبه 03 تیر 1394, 08:35 صبح
با تشكر
1- يك منبعي هست كه تمام كليدها را داشته باشه به همين صورت .SendKeys.Send("{BackSpace}");
سوال دوم اين كه اين روش از سيستم به سيستم ديگر مشكلي پيش نمي ياد و استاندارد است؟
3-ctrl+z را براي رچباكس چطوري بزنم جالب ctrl+c وctrl+v خودش داره ولي ctrl+z را نداره.
........................باسپاس.............. ..

mehrdad1991h
چهارشنبه 03 تیر 1394, 09:50 صبح
با تشكر
1- يك منبعي هست كه تمام كليدها را داشته باشه به همين صورت .SendKeys.Send("{BackSpace}");
سوال دوم اين كه اين روش از سيستم به سيستم ديگر مشكلي پيش نمي ياد و استاندارد است؟
3-ctrl+z را براي رچباكس چطوري بزنم جالب ctrl+c وctrl+v خودش داره ولي ctrl+z را نداره.
........................باسپاس.............. ..

راستش را بخوای
sendkey.send
اصلا اصولی نیست !
هر وقت هیچ چاره ای نداشتی برو سراغ اون ! روند کار اون اینجوریه که کلید فشرده شده را شبیه سازی میکنی حالا مثلا صفحه یا برنامه یا هر چیز دیگه ای اگر اکتیو باشه روی اون این عمل صورت میگیره

برای undo redo باید خودت بسازیش !
اول یه لیست از استرینگ ها میسازی و تو رویداد تکست چنج به لیستت اضافه میکنی

اینجوری

Stack<string> undoList = new Stack<string>();
توی رویداد تکست چنج هم این جوری
undoList.Push(textBox1.Text);

بعد تو رویداد کی دان هم میای چک میکنی هر وقت کنترل و زد با هم فشرده شدن یکی بر میگردی عقب
اینجوری
if(e.KeyCode == Keys.Z && (e.Control)) {
textBox1.Text = undoList.Pop();
}

sabz12
چهارشنبه 03 تیر 1394, 15:42 عصر
.................................حذف شد...........................