1

C# のメソッド間で文字列を共有する方法を知っている人はいますか?

これは、文字列を取得する必要があるコードの一部です。

    private void timer1_Tick(object sender, EventArgs e)
    {
        // The screenshot will be stored in this bitmap.
        Bitmap capture = new Bitmap(screenBounds.Width, screenBounds.Height);

        // The code below takes the screenshot and
        // saves it in "capture" bitmap.
        g = Graphics.FromImage(capture);
        g.CopyFromScreen(Point.Empty, Point.Empty, screenBounds);

        // This code assigns the screenshot
        // to the Picturebox so that we can view it
        pictureBox1.Image = capture;

    }

ここでは、「キャプチャ」文字列を取得する必要があります。

        Bitmap capture = new Bitmap(screenBounds.Width, screenBounds.Height);

そして、このメソッドから「キャプチャ」を配置します。

   private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (paint)
        {
            using (Graphics g = Graphics.FromImage(!!!Put Capture in Here!!!))
            {
                color = new SolidBrush(Color.Black);
                g.FillEllipse(color, e.X, e.Y, 5, 5);
            }
        }

    }

ここに:

        using (Graphics g = Graphics.FromImage(!!!Put Capture in Here!!!))

誰かが助けてくれることを願っています!

PS: もしあなたがすべてを理解していないなら、私はオランダ出身の 14 歳です。

4

1 に答える 1

3

変数のスコープを見ています。

変数captureはメソッド レベルで定義されるため、そのメソッドでのみ使用できます。

クラス レベル (メソッドの外側) で変数を定義すると、クラス内のすべてのメソッドがそれにアクセスできるようになります。

Bitmap capture;
private void timer1_Tick(object sender, EventArgs e)
{
    // The screenshot will be stored in this bitmap.
    capture = new Bitmap(screenBounds.Width, screenBounds.Height);

    // The code below takes the screenshot and
    // saves it in "capture" bitmap.
    g = Graphics.FromImage(capture);
    g.CopyFromScreen(Point.Empty, Point.Empty, screenBounds);

    // This code assigns the screenshot
    // to the Picturebox so that we can view it
    pictureBox1.Image = capture;

}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
    if (paint)
    {
        using (Graphics g = Graphics.FromImage(capture))
        {
            color = new SolidBrush(Color.Black);
            g.FillEllipse(color, e.X, e.Y, 5, 5);
        }
    }

}
于 2013-09-27T18:41:22.330 に答える