using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace HotelPms.Share.Windows.Component { public static class ControlEx { /// /// コントロールの拡張プロパティメソッド追加 /// /// /// public static object GetPropertyEx(this Control self, string key) { ControlPropertyEx val = null; ControlPropertyEx.Data.TryGetValue(self, out val); return val.Addition[key]; } public static void SetPropertyEx(this Control self, string key, object value) { ControlPropertyEx data = null; if(!ControlPropertyEx.Data.TryGetValue(self, out data)) { data = new ControlPropertyEx(); ControlPropertyEx.Data.Add(self, data); } data.Addition[key] = value; //存在しなかったら、自動追加 } public static ControlPropertyEx GetPropertyData(this Control self) { ControlPropertyEx val = null; ControlPropertyEx.Data.TryGetValue(self, out val); return val; } } }