¿Es posible realizar una acción específica después de el evento de cambio de tamaño (del control de usuario), por ejemplo cuando se suelta el botón del mouse? Tengo que cambiar manualmente el tamaño de un control interno y hacerlo en cada activación del evento sería bastante, hmm, ineficiente ...WinForms - acción después del evento de cambio de tamaño
Respuesta
sólo tiene que utilizar el evento ResizeEnd
:
private void Form1_ResizeEnd(object sender, EventArgs e)
{
// Your code here
}
De MSDN:
el evento ResizeEnd se eleva cuando el usuario acaba de cambiar el tamaño de un formulario, típicamente arrastrando uno de los fronteras o el control de tamaño situado en la esquina inferior derecha de el formulario, y luego liberándolo. Para obtener más información sobre el cambio de tamaño operación.
Muy tentador y probablemente ya lo haya usado, pero está sucediendo en el control de usuario (olvidé especificar eso, lo siento) y no tengo acceso a los eventos del formulario. – brovar
@brovar: ¡Eso es una tontería! Cada control tiene una propiedad 'ParentForm'. ¡De hecho, tienes todo lo accesible! – leppie
@ ¿Por qué no puede simplemente agregar un método 'ResizeMeNow()' al control de usuario y llamarlo en el evento 'ResizeEnd' del formulario? – GenericTypeTea
Quizás pueda utilizar el evento SizeChanged. Pero no sé con qué frecuencia o cuándo se llama durante el cambio de tamaño.
Igual que Resize, una y otra vez. – brovar
Usted puede fingir un ResizeEnd local de la siguiente manera:
public class Dummy:UserControl
{
private readonly Timer _tDelayedResize;
public Dummy()
{
this.Resize += this_Resize;
_tDelayedResize = new Timer();
_tDelayedResize.Interval = 5;
_tDelayedResize.Tick += this_ResizeEnd;
}
void this_Resize(object sender, EventArgs e)
{
_tDelayedResize.Stop();
_tDelayedResize.Start();
}
void this_ResizeEnd(object sender, EventArgs e)
{
_tDelayedResize.Stop();
//Do your ResizeEnd logic here
//...
}
}
El intervalo puede ser modificado. Cuanto mayor sea, mayor será la demora después del último evento de cambio de tamaño.
- 1. WPF: evento de cambio de tamaño GridViewColumn
- 2. Ciclo de vida del evento WinForms
- 3. evento de cambio de tamaño de vista para flash player
- 4. WinForms DataGridView tamaño de fuente
- 5. Desencadenar evento de cambio de tamaño en la impresión
- 6. Detecta cambio de resolución C# WinForms
- 7. jQuery AutoComplete Seleccione disparar después del cambio?
- 8. MVC3 Acción Tamaño del archivo de límite
- 9. evento de cambio del campo oculto html
- 10. ¿Cómo cambio el tamaño de mis paneles al cambiar el tamaño del formulario principal en una aplicación de winforms?
- 11. Evento de cambio de tamaño de .NET: ¿Obtiene el tamaño antiguo?
- 12. ¿hay un evento vim activado por el cambio de tamaño de la ventana del terminal?
- 13. Jquery. haga clic en evento no funciona después de evento de cambio?
- 14. Winforms - eliminar visualmente clic de botón evento
- 15. Capturar evento de salida de aplicación - WinForms
- 16. Evento de cambio de desencadenante del menú desplegable
- 17. Jquery: ver el evento de alteración del tamaño del puerto?
- 18. UIModalPresentationFormSheet cambio de tamaño vista
- 19. Cambio de tamaño del mapa de bits de InputStream
- 20. Cambiar el origen del evento de Fullcalendar después del procesamiento
- 21. Cambio de tamaño de UIViews
- 22. Evento de cambio de texto de Backbone.js
- 23. ¿Cómo agrego un evento de cambio de tamaño a la ventana en una vista usando Backbone?
- 24. jQuery UI resize redimensionar el evento de cambio de tamaño de ventana
- 25. enganchar por defecto el evento "Pegar" del control WinForms TextBox
- 26. WinForms: El evento TextBox Leave no se activa después de ir al menú principal
- 27. Prevención del cambio de tamaño de UIImage para un UIButton
- 28. Segunda instancia de actividad después del cambio de orientación
- 29. jQuery - Evento de cambio de incendio
- 30. Span cambio elemento evento
Hay mejores formas de hacer el diseño de control. – leppie
Lo sé y no lo haría de esa manera, pero es un pequeño caso especial;) – brovar
¿Hay algún problema con el evento 'Control.Resize'? – leppie