2)当在文本框中选择一些文本时,删除,复制和粘贴选项应该被启用.我应该检测它吗?我已经测试了texchanged事件,我已经写了一个条件,如下面的代码,但它没有工作只是剪贴板效果很好:
private voID textBox1_TextChanged(object sender,EventArgs e) { if (textBox1.SelectionLength> 0) button1.Enabled = false; if (Clipboard.ContainsText()) button2.Enabled = false; }
我应该如何解决我的问题,我必须使用一个文本框而不是一个富文本框.
任何建议将不胜感激.
非常感谢
if (textBox1.SelectionLength > 0){}
对于剪贴板内容,
使用
System.windows.Forms.Clipboard.getText();
检查剪贴板内容,
IDataObject IData = Clipboard.GetDataObject();// Is Data Text?if (IData.GetDataPresent(DataFormats.Text)) label1.Text = (String)IData.GetData(DataFormats.Text);elselabel1.Text = "Data not found.";
这是在代码中实现的.您可以直接使用它如上
最重要的是,别忘了
public virtual string SelectedText { get; set; }
这是带菜单项的完整代码
private voID Menu_copy(System.Object sender,System.EventArgs e){// Ensure that text is selected in the text Box. if(textBox1.SelectionLength > 0) // copy the selected text to the Clipboard. textBox1.copy();}private voID Menu_Cut(System.Object sender,System.EventArgs e){ // Ensure that text is currently selected in the text Box. if(textBox1.SelectedText.Length > 0) // Cut the selected text in the control and paste it into the Clipboard. textBox1.Cut(); }Private voID Menu_Paste(System.Object sender,System.EventArgs e){// Determine if there is any text in the Clipboard to paste into the text Box. if(Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)){ // Determine if any text is selected in the text Box. if(textBox1.SelectionLength > 0) { // Ask user if they want to paste over currently selected text. if(MessageBox.Show("Do you want to paste over current selection?","Cut Example",MessageBoxbuttons.YesNo) == DialogResult.No) // Move selection to the point after the current selection and paste. textBox1.SelectionStart = textBox1.SelectionStart + textBox1.SelectionLength; } // Paste current text in Clipboard into text Box. textBox1.Paste(); }}private voID Menu_Undo(System.Object sender,System.EventArgs e){// Determine if last operation can be undone in text Box. if(textBox1.CanUndo == true){ // Undo the last operation. textBox1.Undo(); // Clear the undo buffer to prevent last action from being redone. textBox1.ClearUndo();}}总结
以上是内存溢出为你收集整理的c# – 在文本框中选择了某些文本全部内容,希望文章能够帮你解决c# – 在文本框中选择了某些文本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)