簡體   English   中英

在兩個按鈕組件之間畫一條線

[英]Drawing a line between two button components

因此,我試圖找到一種方法在單擊的兩個按鈕之間繪制一條直線(要繪制多條源->目標線)。 我目前正在使用此代碼。

    private void Form1_Paint(object sender, PaintEventArgs e)
    {
        using (Graphics g = e.Graphics)
        {
            foreach (Connection c in connections)
            {
                Point pt1 = c.source.Location;
                Point pt2 = c.destination.Location;

                using (Pen p = new Pen(Brushes.Black))
                {
                    g.DrawLine(p, pt1, pt2);
                }

            }
        }
    }

現在可以使用,但顯然它是在表單畫布上繪制的,並且隱藏在表單上所有按鈕的后面。 這是布局的樣子:

在此處輸入圖片說明

無論如何,我可以解決這個問題嗎?

謝謝。

每個按鈕都知道其在父對象上的相對位置,並且每個按鈕都可以處理其Paint事件。 如果您以經過兩個點(x2-x1)(y-y1)=(y2-y1)(x-x1)的線方程形式將線存儲在某些集合中 ,則可以在其中迭代button Paint處理程序,並計算線條是否與按鈕的邊緣相交。 每個按鈕相對於其父坐標應具有自己的邊緣等式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM