3

Panel2 つのがButtonあり、そのうちの 1 つは部分的に隠されています。部分的に隠されているボタンがフォーカスされると (たとえば、もう一方がクリックされてから (元の) ボタンがクリックされると)、パネルがスクロールされます。垂直スクロールバーは必要ですが、自動スクロールは必要ありません自動スクロールなしで機能するスクロールバーを取得する方法はないようです。

コード:

using System.Drawing;
using System.Windows.Forms;

namespace test
{
    public partial class Form1 : Form
    {
        Panel panel = new Panel
        {
            AutoScroll = true,
            Size = new Size(200, 200),
            Location = new Point(0, 30),
        };
        Button b1 = new Button
        {
            Location = new Point(100, 100),
            Size = new Size(50, 150),
            BackColor = Color.Black
        };
        Button b2 = new Button();

        public Form1()
        {
            InitializeComponent();
            panel.Controls.Add(b1);
            Controls.Add(panel);
            Controls.Add(b2);
        }
    }
}
4

1 に答える 1

4

VScroll プロパティにアクセスできる派生クラスを使用します。

しかし、より簡単に、よりうまく機能します:

オーバーライドしScrollToControlます。Winforms パネルのスクロールを停止するにはどうすればよいですか? を参照してください。.

于 2013-10-15T17:17:44.837 に答える