|
Quando fazemos uma aplicação de formulário, às vezes precisamos obter informações sobre o formulário atual ou chamar os controles de outros formulários. Aqui apresento dois métodos para alcançar isso.
Quando precisamos chamar controles de outros formulários em um formulário, podemos usar controles. CheckForIllegaCrossThreadCalls=false; Por exemplo: Button.CheckForIllegalCrossThreadCalls=false; Claro, também podemos fazer toda a forma cruzada Form.CheckForIllegalCrossThreadCalls=false; Isso nos permite acessar os controles ou propriedades dessa forma em outras formas. Esse pode não ser o método mais seguro, e às vezes a depuração nos dá um erro.
Aqui vou apresentar outro método que pode ser acessado entre as threads. O Invoke salta para o thread do formulário para executar a função no delegado
Primeiro, precisamos declarar uma comissão. delegado público void DelSetTime(objeto str); Então só precisamos preparar a função que precisa ser executada, empty público setTime(objeto str); Agora podemos colocar o delegado na thread do formulário para executar Delegar d=novo DelsetTime(setTime); Isso. Invocar(d,Datetime.Now.ToString()); Dessa forma, podemos alcançar acesso cross-thread.
Cada formulário possui uma linha de processo, que é principalmente responsável por completar o desenho do formulário e pelos controles do formulário Esse fio chamamos de fio de forma ou fio principal. Muitas vezes precisamos adicionar threads ao formulário para processar os dados, e então podemos definir essas threads recém-criadas como threads de fundo quando o formulário for fechado A discussão também vai terminar. ThreadStart ths=novo ThreadStart(Demo); Thread th= novo Thread(ths); th. Start(); th. IsBackground=verdadeiro;
Original: http://bingdao.sinaapp.com/net%E4%BD%93%E7%B3%BB/380.html
|