私は別のフォームからいくつかのパブリックメソッドを使いたいと思います。私はこれを行う方法があるかどうかを知りたいのですが、メソッドとフォームを公開するようにしましたが、メソッドを別のフォームに呼び出そうとすると、何も表示されません。ここ他のフォームのメソッドをメインフォームに使用するには?
は私のメインフォームです:
namespace GUI
{
public partial class frmPrincipal : Form
{
public frmPrincipal()
{
InitializeComponent();
}
private void categoriaToolStripMenuItem_Click(object sender, EventArgs e)
{
frmCadastroCategoria f = new frmCadastroCategoria();
f.ShowDialog();
f.Dispose();
}
private void categoriaToolStripMenuItem1_Click(object sender, EventArgs e)
{
frmConsultaCategoria f = new frmConsultaCategoria();
f.ShowDialog();
f.Dispose();
}
、これは私のような何かをしようとしていた私は
public void LocalizarCategoria()
{
frmConsultaCategoria f = new frmConsultaCategoria();
f.ShowDialog();
if (f.codigo != 0)
{
DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao);
BLLCategoria bll = new BLLCategoria(cx);
ModeloCategoria modelo = bll.CarregaModeloCategoria(f.codigo);
txtCodigo.Text = modelo.CatCod.ToString();
txtNome.Text = modelo.CatNome;
alteraBotoes(3);
}
else
{
this.LimpaTela();
this.alteraBotoes(1);
}
f.Dispose();
}
を呼び出そう形式です:
{
LocalizarCategoria()
}
をが、私はできません、それはちょうど方法を見つけるdosn't。
"別の形式のパブリックメソッドを使用したいと思います。" - そうでないかもしれないにもかかわらず、フォームが依存するようになるので、そうしないでください。あるメソッドが別のフォームにある場合、そのメソッドはそこに属します。おそらく、別の場所(基本クラスなど)にメソッドを移動することです。 –
私は@Quality Catalystのコメントに同意し、自分の答えを受け入れることをお勧めします - この場合、基本クラスの考え方ははるかに良い解決策です。 – CoolBots
あなたがしようとしていることは完全にはっきりしていません。しかし、2つの明らかな可能性があり、どちらも以前に尋ねられた質問(https://stackoverflow.com/questions/1665533/communicate-between-two-windows-forms-in-c-sharp)とhttps:/ /questions/25394337/how-to-use-the-same-method-with-two-different-forms(@Qualityが投稿した回答があなたの懸念に対応している場合、質問は2番目のそれらのリンク)。 –