J'essaye de faire une méthode pour changer usercontrol quand un bouton est cliqué.Winforms C# changent usercontrol dans le panneau comme méthode
UserControl
namespace LogAnalyzer
{
public partial class UserSettings : UserControl
{
private static UserSettings _instance;
public static UserSettings Instance
{
get
{
if (_instance == null)
_instance = new UserSettings();
return _instance;
}
}
public UserSettings()
{
InitializeComponent();
}
private void btnUnpackPath_Click(object sender, EventArgs e)
{
flowLayoutPanel1.Hide();
}
}
}
Ma forme
namespace LogAnalyzer
{
public partial class LogAnalyzerMain : Form
{
public LogAnalyzerMain()
{
InitializeComponent();
}
private void ChangeInstance(Control tab) {
if (!panelDisplay.Controls.Contains(tab))
{
panelDisplay.Controls.Add(tab);
tab.Dock = DockStyle.Fill;
}
tab.BringToFront();
}
private void btnSettings_Click(object sender, EventArgs e)
{
ChangeInstance(UserSettings);
}
}
}
Il me donne une erreur dans cette ligne sous ma forme ('UserSettings' est un type, ce qui est valable dans le contexte donné)
ChangeInstance(UserSettings);
Essayez 'UserSettings.Instance ' – Reniuz
et cette erreur est justifiée, elle attend une instance, pas un type. devrait probablement être 'ChangeInstance (UserSettings.Instance)' à la place. – dlatikay