ホームページ  >  記事  >  バックエンド開発  >  C#でカスタムコントロールを使用してTextBoxへの貼り付けを禁止するサンプルコードを実装する方法

C#でカスタムコントロールを使用してTextBoxへの貼り付けを禁止するサンプルコードを実装する方法

黄舟
黄舟オリジナル
2017-06-18 10:32:342406ブラウズ

この記事では、TextBoxへの貼り付け禁止を実現するC#カスタムコントロールの方法を主に紹介し、C#カスタムコントロールの作成と使い方、およびTextBoxへの貼り付けを禁止する実装テクニックを具体的な例に基づいて分析します。次へ

この記事の例では、C# カスタム コントロールを使用して TextBox への貼り付けを禁止する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

開発環境: Visual Studio .net 2005 + Windows XP sp2 professional

新規->プロジェクト->Windows コントロール ライブラリ: 新しいクラスを作成し、

継承からTextBox クラスの具体的なソース コードは次のとおりです。


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace TextBox_NoPaste
{
  [Description("继承自TextBox,但加入了禁止粘贴功能")]
  public partial class UC_TextBox_NoPaste : TextBox
  {
    public UC_TextBox_NoPaste()
    {
      InitializeComponent();
    }
    //重写基本类的WndProc()
    protected override void WndProc(ref Message m)
    {
      if (m.Msg == 0x0302) //0x0302是粘贴消息
      {
        m.Result = IntPtr.Zero; //拦截此消息
        return;
      }
      base.WndProc(ref m); //若此消息不是粘贴消息,则交给其基类去处理
    }
  }
}

このソース コードをコンパイルすると、.dll ファイルが生成されます。このコントロールを他のプロジェクトで使用する場合は、まずタブに追加します。それをインターフェースにドラッグすると、すぐに使用できるようになります。


TextBoxの機能を全て継承し、ペースト禁止機能を追加しておりますので、お試しください。

同様に、数字のみ入力できるコントロールなど、好みのコントロールをカスタマイズすることもできます。

以上がC#でカスタムコントロールを使用してTextBoxへの貼り付けを禁止するサンプルコードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。