Querrá el cuadro de imagen para participar en el orden de tabulación y mostrar que tiene el foco. Eso requiere un poco de cirugía menor. Agregue una nueva clase a su proyecto y pegue el código que se muestra a continuación. Compilar. Coloque el nuevo control desde la parte superior de la caja de herramientas en su formulario. Implementa el evento KeyDown.
using System;
using System.Drawing;
using System.Windows.Forms;
class SelectablePictureBox : PictureBox {
public SelectablePictureBox() {
this.SetStyle(ControlStyles.Selectable, true);
this.TabStop = true;
}
protected override void OnMouseDown(MouseEventArgs e) {
this.Focus();
base.OnMouseDown(e);
}
protected override void OnEnter(EventArgs e) {
this.Invalidate();
base.OnEnter(e);
}
protected override void OnLeave(EventArgs e) {
this.Invalidate();
base.OnLeave(e);
}
protected override void OnPaint(PaintEventArgs pe) {
base.OnPaint(pe);
if (this.Focused) {
var rc = this.ClientRectangle;
rc.Inflate(-2, -2);
ControlPaint.DrawFocusRectangle(pe.Graphics, rc);
}
}
}
en el idioma de la bruja, ¿quieres que hagas? – Werewolve
@were: creo que puede suponer C# o VB.NET. El primero parece ser más común. Sin embargo, traducir el * código * en sí mismo debería ser el menor de los problemas. – Joey
C# y puedo leer vb bien. Quizás considere arrastrar el objeto fuera de pantalla una solución de eliminación. Para mal, no pensé en eso de inmediato. –