Como chamar um formulário quando existem 3 formas na transferência de projeto e dados entre as formas em C #?

StackOverflow https://stackoverflow.com/questions/1012631

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu tenho 3 formas no meu form1 projeto, form2, Form3 e foi funcionando sem problemas agora eu ter aumentado mais em meu Form4 projeto. As três primeiras formas já estão ligados através de ShowDialog ().

Eu não quero tocar arquivo Program.cs.

Como posso chamar formulário 4 pela primeira vez como o arranque forma? forma anterior 1 foi a primeira forma de aparecer no meu projeto.

Também tenho 2 botões de rádio na minha RDB1 form1 e RDB2. Na minha form2 eu tenho OpenFileDialog anexado a um botão Select. Agora eu quero quando RDB1 o usuário seleciona em form1 então o filtro de OpenFileDialog em form2 deve abrir arquivos com apenas ".XML", como extensão e quando RDB2 é selecionado no Form1, em seguida, Form2 apenas arquivos ".txt" pode ser aberta.

Estou incapaz de encontrar a sintaxe para isso em intellisense você pode por favor ajudar?

Agradecemos antecipadamente ..

Foi útil?

Solução

Você pode explicar por que você não quer tocar o arquivo Program.cs? Este é exatamente onde você mudar a forma start-up.

Alterar o:

Application.Run(new Form1());

para:

Application.Run(new Form4());

Em segundo lugar, você pode definir os filtros no Open- e SaveFileDialog usando a propriedade Filter. Configurá-lo para um valor como este:

XML Files|*.xml

Ou para texto:

Text Files|*.txt

Editado para adicionar:

Para fazer isso de outra forma:

class Form1 {
  Form2 form2;

  void Form1_Load(object sender, EventArgs e) {
    form2 = new Form2();
  }

  void rdb1_CheckedChanged(object sender, EventArgs e) {
    if (rdb1.Checked) 
      form2.openFileDialog1.Filter = "XML Files|*.xml";
    else
      form2.openFileDialog1.Filter = "Text Files|*.txt";
  }
}

Certifique-se de ter definido a propriedade modificadores da OpenFileDialog1 no designer Form2 para "Público" ou "interno" para permitir o acesso a ele do lado de fora da própria classe.

Outras dicas

Você tem que tocar Program.cs. É aí que a forma inicial é criado e executado.

Crie um novo projeto winforms e Program.cs abertos. Você pode ver onde Application.Run é chamado com uma instância do formulário de inicialização. Isso é o que você tem que fazer.

Não se assuste. Tudo vai ficar bem.


Em resposta ao comentário:

O evento Form1_Load é disparado dentro Form1 por Form1. Você deve voltar a subir na cadeia de chamada e encontrar onde Form1 é criado e passado para Application.Run. E isso é em Program.cs.

Faça-o. E depois ir para obter uma cópia do CLR Via C #. Você não vai se arrepender (contanto que você ignore os primeiros capítulos casal!)

Como posso chamar formulário 4 pela primeira vez como o arranque forma?

Eu não quero tocar arquivo Program.cs.

Por que você não quer tocar Program.cs? O exemplo forma passado para Application.Run (..) determina a forma iniciar-se.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top