私自身のデザインでユーザーコントロールを作成するには、何か助けが必要です。私はユーザーコントロールを作成し、ほぼ完了しました。私はタブキーを(実行時に、時間を設計していない)を押して、私のユーザーコントロールを集中した場合、それに描か迷惑な長方形(黒)がある
:それはC#Tabulatorキーを押してフォーカスしている黒い矩形
私の問題...のみビット磨く必要があります。
これは私の現在の「解決策」です。
矩形を右のブラシで単に上書きします。それは上のOnPaintイベントによって描かれる - この作品ではない理由を
private void ButtonOnPaint(object sender, PaintEventArgs e)
{
if (Image != null | BackgroundImage != null)
return;
var penColor = Color.Transparent;
if (!_mouseCurrentMoveOver)
penColor = BackgroundColor;
else if (_mouseCurrentMoveOver)
penColor = MouseOverBackColor;
if (_mouseCurrentDown)
penColor = MouseDownBackColor;
if (penColor == Color.Transparent)
return;
using (var p = new Pen(penColor))
{
var startPoint = new Point(5, 5);
var sizeRectangle = new Size(
_button.Width - startPoint.X * 2 - 1,
_button.Height - startPoint.Y * 2 - 1);
e.Graphics.DrawRectangle(p, startPoint.X, startPoint.Y, sizeRectangle.Width, sizeRectangle.Height);
}
}
理由は、私は背景画像を設定した場合、です。
ですから、このフォーカス矩形を無効にするにはどうすればよいですか?あなたはこれが例えばによりユーザーコントロール内のコントロールを選択する機能を無効にします
SetStyle(ControlStyles.Selectable, false);
を呼び出すことができ、ユーザーコントロールのコンストラクタで
inti [this on showfocuscues](https://msdn.microsoft.com/en-us/library/system.windows.forms.control.showfocuscues%28v=vs.110%29.aspx)を見たい場合があります。 ) – TaW
これを試すことができます: 'protected override bool ShowFocusCues { get { return false; } } ' – TaW
このヒントのおかげで、私はこれを試しましたが、何も変わらない...? –