|
Cuando hacemos una solicitud de formulario, a veces necesitamos obtener información sobre el formulario actual o llamar a los controles de otros formularios. Aquí presento dos métodos para lograr esto.
Cuando necesitamos llamar a controles de otros formularios en un formulario, podemos usar controles. CheckForIllegaCrossThreadCalls=false; Por ejemplo: Button.CheckForIllegalCrossThreadCalls=false; Por supuesto, también podemos hacer que todo el formulario sea cruzado Form.CheckForIllegalCrossThreadCalls=false; Esto nos permite acceder a los controles o propiedades de esta forma en otras formas. Puede que este no sea el método más seguro, y a veces la depuración nos dará un error.
Aquí presentaré otro método al que se puede acceder entre hilos. Invoke salta al hilo de formulario para ejecutar la función en el delegado
Primero, necesitamos declarar una comisión. delegado público void DelSetTime(objeto str); Luego solo tenemos que preparar la función que hay que ejecutar, empty público setTime(objeto fuerza); Ahora podemos poner el delegado en el hilo del formulario para ejecutarlo Delegar d=nuevo DelsetTime(setTime); éste. Invoke(d,Fechatiempo.Ahora.ParaCuerda()); De esta manera podemos lograr acceso cruzado.
Cada formulario tiene un hilo de formulario, que es principalmente responsable de completar el dibujo del formulario y de los controles del formulario Este hilo lo llamamos hilo de formulario o hilo principal. Muchas veces necesitamos añadir hilos al formulario para procesar los datos, y luego podemos establecer estos hilos recién creados como hilos de fondo cuando el formulario se cierra El hilo también terminará. ThreadStart ths=nuevo ThreadStart(Demo); Hilo th= nuevo Hilo (ths); th. Inicio(); th. IsBackground=cierto;
Original: http://bingdao.sinaapp.com/net%E4%BD%93%E7%B3%BB/380.html
|