چکار کنم بعداز انتخاب متن درون یک RichTextbox بشه روی اون کلیک راست کرد و گزینه ای مثل Cut یا Copy رو انتخاب کرد.
این به طور پیش فرض نمیشه!
ممنونم
چکار کنم بعداز انتخاب متن درون یک RichTextbox بشه روی اون کلیک راست کرد و گزینه ای مثل Cut یا Copy رو انتخاب کرد.
این به طور پیش فرض نمیشه!
ممنونم
به طور پيش فرض؟؟؟ اگه منظورتون با گرفتن كد يا كامپوننت از اينترنت و بازار و ... است كه ميشه ولي من نديدم براي اين كار خود VS پيشفرض داشته باشه. اين كار ساده هست و الان خلاصه شو ميگم:
يك ContextMenuStrip بزار رو فرمت. Items رو از Properties اون انتخاب كن و دكمه «...» كنار اون رو بزن. اينجا زياد سخت نيست. هر چي ميخواي نمايش داده بشه رو وارد كن و تنظيم كن.(بعد هم Event هر كدوم رو)حالا كه ContextMenu رو ساختي ، پراپرتي ContextMenu ي تكست باكست رو برابر اون بزار. براي اينكه وقتي انتخاب ميكنه و ... ميتونيد از خاصيت SelectionLength تكست باكس استفاده كنيد. اگه به بولين تبديلش كنيد هم كه ديگه ميگه چيزي انتخاب شده يا نه.
منظورم تو خط اول واضحه که میشه با تنظیم یک پروپرتی این رو فعال کرد که بشه روی یک RichTextbox کلیک راست کرد؟
خوب من یه contextMenuStrip به RichTextbox اضافه کردم و آیتم هایی مثلCut,Copy,PasteوDelete رو به اون اضافه کردم.
حالا برای کد های مربوط به هرکدوم چی باید بنویسم؟
نیازی به چک کردن اینکه چیزی انتخاب شده یا نشده ندارید.
کدها به صورت زیر خواهند بود:
// 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;
موفق باشید