请问用c#怎样实现剪切/复制/粘贴/全选操作?

解决方案 »

  1.   

    //   复制   
      System.Collections.Specialized.StringCollection   s   =   new   System.Collections.Specialized.StringCollection();   
      s.Add(@"D:\WOW");   
      Clipboard.SetFileDropList(s);   
        
      //   粘贴   
      if   (Clipboard.ContainsFileDropList())   
      {   
      Clipboard.SetFileDropList(s);   
      //操作   s   
      }   
        
      //   剪切为先复制,粘贴后删除
      

  2.   

    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.IO;
    using System.Drawing.Printing;
    using System.Data;namespace 记事本
    {
     /// <summary>
     /// Form1 的摘要说明。
     /// </summary>
     public class FormMain : System.Windows.Forms.Form
     {
      private System.Windows.Forms.TextBox textBoxEdit;
      /// <summary>
      /// 必需的设计器变量。
      /// </summary>
      private System.ComponentModel.Container components = null;
      private System.Windows.Forms.MainMenu mainMenu1;
      private System.Windows.Forms.MenuItem menuItem8;
      private System.Windows.Forms.MenuItem menuItem11;
      private System.Windows.Forms.MenuItem menuItem14;
      private System.Windows.Forms.MenuItem menuItem19;
      private System.Windows.Forms.MenuItem menuItem22;
      private System.Windows.Forms.MenuItem menuItemFile;
      private System.Windows.Forms.MenuItem menuItemEdit;
      private System.Windows.Forms.MenuItem menuItemFormat;
      private System.Windows.Forms.MenuItem menuItemNew;
      private System.Windows.Forms.MenuItem menuItemOpen;
      private System.Windows.Forms.MenuItem menuItemSave;
      private System.Windows.Forms.MenuItem menuItemSaveAs;
      private System.Windows.Forms.MenuItem menuItemPageSet;
      private System.Windows.Forms.MenuItem menuItemPrint;
      private System.Windows.Forms.MenuItem menuItemExit;
      private System.Windows.Forms.MenuItem menuItemUndo;
      private System.Windows.Forms.MenuItem menuItemCut;
      private System.Windows.Forms.MenuItem menuItemCopy;
      private System.Windows.Forms.MenuItem menuItemPaste;
      private System.Windows.Forms.MenuItem menuItemDel;
      private System.Windows.Forms.MenuItem menuItemSelAll;
      private System.Windows.Forms.MenuItem menuItemWordWrap;
      private System.Windows.Forms.MenuItem menuItemFont;
      private System.Windows.Forms.MenuItem menuItemColor;
      const int MaxLenght=2000000;
            
      private string currentFileName;
      private System.Drawing.Printing.PrintDocument printDocument=new PrintDocument();
      private bool needToSave;
      public FormMain()
      {
       //
       // Windows 窗体设计器支持所必需的
       //
       InitializeComponent();   //
       // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
       //
      }  /// <summary>
      /// 清理所有正在使用的资源。
      /// </summary>
      protected override void Dispose( bool disposing )
      {
       if( disposing )
       {
        if (components != null) 
        {
         components.Dispose();
        }
       }
       base.Dispose( disposing );
      }
      

  3.   

    textBox1.Cut();
    textBox1.Paste();
    textBox1.Copy();
    textBox1.Delete();
    textBox1.SelectAll();
    ...
      

  4.   

    TextBox可以实现,但是其它控件呢?如ComboBox,DataGridView等
      

  5.   

    Clipboard看了一下,不知道怎么实现。能否给个简单的实例?
      

  6.   

    不能使用某些控件独有的方法如textBox的剪切/复制/粘贴/全选方法。textBox.Cut();textBox.Paste();textBox.Copy();textBox.Delete();textBox.SelectAll();要求通用
      

  7.   

    还是Clipboard   
    粘帖:
            
     IDataObject iData = Clipboard.GetDataObject();
                if (iData.GetDataPresent(DataFormats.Text) | iData.GetDataPresent(DataFormats.OemText))
                {
                    this.textBox_sql.Text = (String)iData.GetData(DataFormats.Text);            }
    复制:
                Clipboard.SetData(DataFormats.Text, textBox_sql.Text);
      

  8.   

    那么如何全选呢?例如,我要全选DataGridView某个Cell里面的值。
      

  9.   

    剪切/复制/粘贴用Clipboard类实现
    全选用SelectedIndex与SelectedLength属性实现
      

  10.   

    用模拟按键信息System.Windows.Forms.SendKeys.SendWait(System.String);System.Windows.Forms.SendKeys.SendWait("^C");//复制
    System.Windows.Forms.SendKeys.SendWait("^X");//剪切
    System.Windows.Forms.SendKeys.SendWait("^V");//粘贴
    System.Windows.Forms.SendKeys.SendWait("^Z");//Undo
    System.Windows.Forms.SendKeys.SendWait("^Y");//Redo
    这样个好处是,不用重写任何控件。
      

  11.   

    textBox1.Cut(); 
    textBox1.Paste(); 
    textBox1.Copy(); 
    textBox1.Delete(); 
    textBox1.SelectAll();