PDA

View Full Version : سوال: کلیک راست روی richTextbox



amin3271
پنج شنبه 04 تیر 1388, 15:54 عصر
چکار کنم بعداز انتخاب متن درون یک RichTextbox بشه روی اون کلیک راست کرد و گزینه ای مثل Cut یا Copy رو انتخاب کرد.
این به طور پیش فرض نمیشه!
ممنونم

vandermond
پنج شنبه 04 تیر 1388, 16:14 عصر
به طور پيش فرض؟؟؟ اگه منظورتون با گرفتن كد يا كامپوننت از اينترنت و بازار و ... است كه ميشه ولي من نديدم براي اين كار خود VS پيشفرض داشته باشه. اين كار ساده هست و الان خلاصه شو ميگم:
يك ContextMenuStrip بزار رو فرمت. Items رو از Properties اون انتخاب كن و دكمه «...» كنار اون رو بزن. اينجا زياد سخت نيست. هر چي ميخواي نمايش داده بشه رو وارد كن و تنظيم كن.(بعد هم Event هر كدوم رو)حالا كه ContextMenu رو ساختي ، پراپرتي ContextMenu ي تكست باكست رو برابر اون بزار. براي اينكه وقتي انتخاب ميكنه و ... ميتونيد از خاصيت SelectionLength تكست باكس استفاده كنيد. اگه به بولين تبديلش كنيد هم كه ديگه ميگه چيزي انتخاب شده يا نه.

amin3271
پنج شنبه 04 تیر 1388, 16:30 عصر
منظورم تو خط اول واضحه که میشه با تنظیم یک پروپرتی این رو فعال کرد که بشه روی یک RichTextbox کلیک راست کرد؟

amin3271
دوشنبه 02 شهریور 1388, 18:24 عصر
خوب من یه contextMenuStrip به RichTextbox اضافه کردم و آیتم هایی مثلCut,Copy,PasteوDelete رو به اون اضافه کردم.
حالا برای کد های مربوط به هرکدوم چی باید بنویسم؟

tthenry14plus
دوشنبه 02 شهریور 1388, 23:03 عصر
نیازی به چک کردن اینکه چیزی انتخاب شده یا نشده ندارید.
کدها به صورت زیر خواهند بود:




// Delete
richTextBox1.SelectedText = string.Empty;

// Copy to clipboard
Clipboard.SetText(richTextBox1.SelectedText);

// Copy to clipboard and delete select text (Cut)
Clipboard.SetText(richTextBox1.SelectedText);
richTextBox1.SelectedText = string.Empty;

// Paste
int selectionStart=richTextBox1.SelectionStart;
richTextBox1.Text = richTextBox1.Text.Substring(0, richTextBox1.SelectionStart) + Clipboard.GetText() + richTextBox1.Text.Substring(richTextBox1.Selection Start + richTextBox1.SelectionLength);
richTextBox1.SelectionStart = selectionStart + Clipboard.GetText().Length;
موفق باشید