3

スニッピング ツール ウィンドウが提供する機能と同じ機能を持つ Winform アプリケーションを C# で再作成しようとしています。つまり、ユーザーがデスクトップ上で長方形をドラッグし、その中にあるものを画像としてキャプチャできるようにします。

現時点では、マウスで長方形を描くことしかできず、それは winform 内にあります。デスクトップ全体で実行できるように、誰かがそれを実行する方法を教えてもらえますか?

長方形を描画するための私のコードは次のとおりです。

 Rectangle rect; 
    public Form1()
    {
        InitializeComponent();

        // set the cursor to be a + sign
        this.Cursor = System.Windows.Forms.Cursors.Cross;
        this.DoubleBuffered = true;
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        // e.X and e.Y are used to get the X and Y pos of the mouse
        rect = new Rectangle(e.X, e.Y, 0, 0);
        this.Invalidate();
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
            // draw rectangle as mouse moves
            rect = new Rectangle(rect.Left,rect.Top, e.X - rect.Left, e.Y - rect.Top);
        }
        this.Invalidate();
    }

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        // Replace "Color.Red" with any color and repalce "2" with any size you like.
        using (Pen pen = new Pen(Color.Red, 2))
        {
            e.Graphics.DrawRectangle(pen, rect);
        }
    }
}

私はオンラインで探し回っていますが、私の検索ではまだ何も役に立ちません。

どんな助けでも大歓迎です。

4

1 に答える 1

5

見る:

http://www.codeproject.com/Articles/485883/Create-your-own-Snipping-Tool

と:

http://www.codeproject.com/Articles/21913/TeboScreen-Basic-C-Screen-Capture-Application

Snipping tool 作成の参考に。

お役に立てれば。

于 2013-08-19T14:48:42.863 に答える