程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#操作系統剪切板處理模塊

C#操作系統剪切板處理模塊

編輯:關於C語言

CODE:

/// <summary>
  /// 操作系統剪切板處理模塊,提供的方法為靜態函數
  /// </summary>
  /// <example>
  /// C#語言中使用該類的例子,從操作系統剪切板獲得純文本數據
  /// // 判斷操作系統剪切板是否保存了純文本數據
  /// if( ClipboardHandler.CanGetText())
  /// {
  ///    // 返回獲得的純文本數據
  ///    return ClipboardHandler.GetTextFromClipboard();
  /// }
  ///
  /// 向操作系統剪切板設置純文本數據
  /// string strText = "要設置的純文本數據";
  /// ClipboardHandler.SetTextToClipboard( strText );
  /// </example>
  public class ClipboardHandler
  {
    /**//// <summary>
    /// 是否可以從操作系統剪切板獲得文本
    /// </summary>
    /// <returns>true 可以從操作系統剪切板獲得文本,false 不可以</returns>
    public static bool CanGetText()
    {
      // Clipboard.GetDataObject may throw an exception...
      try
      {
        System.Windows.Forms.IDataObject data = System.Windows.Forms.Clipboard.GetDataObject();
        return data != null && data.GetDataPresent(System.Windows.Forms.DataFormats.Text);
      }
      catch (Exception e)
      {
        return false;
      }
    }
//
//    /// <summary>
//    /// 是否可以向操作系統剪切板設置文本
//    /// </summary>
//    /// <returns></returns>
//    public static bool CanSetText()
//    {
//      return true;
//    }
    /**//// <summary>
    /// 向
操作系統剪切板設置文本數據
    /// </summary>
    /// <param name="strText">文本數據</param>
    /// <returns>操作是否成功</returns>
    public static bool SetTextToClipboard(string strText)
    {
      if ( strText != null && strText.Length > 0 )
      {
        try
        {
          System.Windows.Forms.DataObject dataObject = new System.Windows.Forms.DataObject();
          dataObject.SetData(System.Windows.Forms.DataFormats.UnicodeText , true, strText );
          System.Windows.Forms.Clipboard.SetDataObject(dataObject, true);
          return true;
        }
        catch
        {
          
        }
      }
      return false;
    }
    /**//// <summary>
    /// 從操作系統剪切板獲得文本
    /// </summary>
    /// <returns>獲得的文本,若操作失敗則返回空對象</returns>
    public static string GetTextFromClipboard()
    {
      try
      {
        System.Windows.Forms.IDataObject data = System.Windows.Forms.Clipboard.GetDataObject();
        if( data.GetDataPresent(System.Windows.Forms.DataFormats.UnicodeText))
        {
          string strText = ( string) data.GetData( System.Windows.Forms.DataFormats.UnicodeText);
          return strText;
        }
      }
      catch
      {}
      return null;
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved