たくさんのフォームを使ってアプリケーションを作成していますが、必要な視覚スタイルをデザイナーから適用するのに時間がかかるため、Load()メソッドのすべてのフォームにこれらのプロパティの変更を適用するLayoutというクラスを作成しました。
class Layout : Form
{
public void ApplicarLayout(Form frm)
{
frm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
foreach (Control c in frm.Controls)
{
if (c is TextBox)
{
//Apply textBox Formatting
}
//Iterate through the controls in the form and add respective format
}
}
}
ここまでは順調ですね。次に、すべてのフォームからこのクラスを継承し、base.AplicarLayout()メソッドを呼び出すだけでしたが、次のエラーが発生します。
Inconsistent accessibility: base class 'EntityClub_.Layout' is less accessible than class 'EntityClub_.MainAdminWindow'
ここで私がそれをどのように行うかを見ることができます。
public partial class MainAdminWindow : Layout
{
public MainAdminWindow()
{
InitializeComponent();
}
public void MainAdminWindow_Load(object sender, EventArgs e)
{
base.ApplicarLayout(this);//ERROR HERE
}
}
継承を使用してこれを行う方法を知っていますか?クラスをインスタンス化したくないし、layoutメソッドで各ウィンドウのコードを汚染したくない。