で設計時の値を格納することはできません。これらのボタンの状態は設計者に保存する必要があります。しかしCompactButton
、Button
クラスが直列化可能ではない、私は最も重要なプロパティを格納するカスタムクラスを作成しているので:あなたはButtonPanel
クラスで見ることができるようにC#が、私はカスタムパネルを持っている私のプロジェクトでは、設計者のVisual Studio 2010の
[Serializable]
public class CompactButton
{
#region Member variables
private bool _visible;
private bool _enabled;
private string _tooltip;
private string _name;
#endregion
#region Constructor
public CompactButton()
{ }
#endregion
#region Properties
public string Name
{
get { return _name; }
set { _name = value; }
}
public bool Visible
{
get { return _visible; }
set { _visible = value; }
}
public bool Enabled
{
get { return _enabled; }
set { _enabled = value; }
}
public string ToolTipText
{
get { return _tooltip; }
set { _tooltip = value; }
}
#endregion
}
、私はリストを返すプロパティCompactButtons
を持っていますCompactButtons
。
私はデザイナーで、私のButtonPanelを追加して、自分のアプリケーションを構築するとき、私はこのエラーを取得:
Error 1 Could not find a type for a name. The type name was
'System.Collections.Generic.List`1[[ButtonPanelX.CompactButton, ButtonPanelX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. Line 131, position 5. D:\Projecten\ButtonPanelX\ButtonPanelX\Form1.resx 131 5
私はこの問題を解決するために行うには何がありますか?
+1:興味深い問題です。私の最初の考えは、* CompactButtonsはシリアライズ可能ではありません*。しかし、あなたはそれをカバーしています。私の二次的な考えは、おそらく 'ISerializable'からCompactButtonを派生させることです。 – IAbstract
私にコメントしていただきありがとうございます。私はISerializableから派生しようとしていない。私がこれを行うと、すべてのメソッドを実装する必要がありますか?またはデフォルトのものを使用してください。 – Martijn
すべてのメソッドを実装する必要があります。 – IAbstract