-1
私はパネルとメニューを持つメインプロジェクトを持っています。ユーザーがボタンをクリックすると、ユーザーコントロールを読み込みます。WindowsのインスタンスUserControl別のクラスライブラリからボタンをクリックすると
私はUI用のクラスライブラリを作成しました。しかし、ボタンをクリックすると、メインプロジェクトのユーザーコントロールがロードされません。何が問題ですか?
メインプロジェクト:
private void BtnMainPage_Click(object sender, EventArgs e)
{
if (!PanelHome.Controls.Contains(Home.Instance))
{
PanelHome.Controls.Add(Home.Instance);
Home.Instance.Dock = DockStyle.Fill;
Home.Instance.BringToFront();
}
else
{
Home.Instance.BringToFront();
}
}
UI:
public partial class Home : UserControl
{
#region Variable
public static Home Instance
{
get
{
return Singleton<Home>.GetInstance();
}
}
#endregion
public Home()
{
InitializeComponent();
MessageBox.Show("Load");
}
}
シングルトン:
public sealed class Singleton<T> where T : class, new()
{
private volatile static T Instance;
private static object _lock = new object();
public static T GetInstance()
{
if (Instance == null)
{
lock (_lock)
{
if (Instance == null)
{
Instance = new T();
}
}
}
return Instance;
}
}
なぜそれがシングルトンでなければならないのでしょうか?それはユーザーコントロールにとって奇妙です。 – Ctznkane525
あなたは[すでにこの質問を投稿しました](https://stackoverflow.com/questions/48040931/not-load-user-control-in-homepanel-from-other-project#comment83054074_48040931)。複数のユーザーアカウントでシステムを乱用しないでください。私たちの自由時間を乱用しないでください。ここで厳密な( "すばらしい"方針)(https://stackoverflow.com/help/be-nice)があります。 –