1

C#.NET 4.5 の使用

  • ユーザー コントロールchangevScrollbar プロパティを、入るときにオンにし、コントロールを離れるとき にオフにしようとしています。

  • 私はMouse_Enterとを使用しましたMouse_Leave、別の場所を離れると(表示されました)、スクロールバーが消えました。control or the scroll bar

質問: マウスがユーザー コントロール フィールド内にあるかどうかを確認するにはどうすればよいですか?

質問 2:ユーザー コントロールの下部にあるスクロールバーを無効にするにはどうすればよいですか? (水平スクロールバー)

さらに情報が必要な場合、またはどこかで不明な点がある場合は、教えてください. 事前に感謝します。

編集:これは、ユーザー コントロールのコードです。

public partial class EnemyStats : UserControl
{
    public EnemyStats()
    {
        InitializeComponent();
        label1.Left = (this.Width / 2) - (label1.Width / 2);
        hpBar1.Width = this.Width - 8;


        // Here i add the event that shows the scrollbar to all controls;
        foreach (Control con in this.Controls)
        {
            con.MouseEnter += new EventHandler(EnemyStats_MouseEnter);
        }
    }

    public double enemyMaxHP
    {
        get
        {
            return hpBar1.maxValue;
        }
        set
        {
            hpBar1.maxValue = value;
        }
    }

    public double enemyHP
    {
        get
        {
            return hpBar1.Value;
        }
        set
        {
            hpBar1.Value = value;
        }
    }

    private void EnemyStats_SizeChanged(object sender, EventArgs e)
    {
        if (this.Width < label1.Width) this.Width = label1.Width;

        label1.Left = (this.Width / 2) - (label1.Width / 2);

        hpBar1.Width = this.Width - 8;
    }

    private void EnemyStats_MouseEnter(object sender, EventArgs e)
    {
        // This scrollbar was added by dragging it from the toolbox onto the user control in the designer
        vScrollbar1.Visible = true;
    }

    private void EnemyStats_MouseLeave(object sender, EventArgs e)
    {
        // This scrollbar was added by dragging it from the toolbox onto the user control in the designer
        vScrollbar1.Visible = false;
    }

}

しかし、スクロールバーは機能しません:

public void randomMethodInUserControl()
{
    this.ScrollBars = ScrollBars.Vertical;
}
4

1 に答える 1