C#在主应用程序中修改类库(自定义控件)的Properties.Settings(settings.settings)
项目结构如下图:
自定义控件项目UserControls中有自己的Settings.settings文件,
主程序项目WindowsFormsApp21也有自己的Settings.settings文件,
主程序中使用了MyButton自定义控件,
需求是希望能在主程序中修改某个变量后的值,能统一应用到MyButton的所有实例中。
将这个变量放到UserControls中的Settings.settings中是比较合理方便的,
这样只要主程序修改该变量的值后保存到自定义控件的Settings.settings文件,
重写自定义控件在事件触发时的处理程序,在触发事件时读取Settings.settings的值并判断即可。
但问题是,主程序只能访问自己的Settings.settings,自定义控件也只能访问自己的Settings.settings文件,
经过多次测试,发现只要将Settings.settings类的访问级设为public,即可在主程序中通过UserControls.Properties访问并修改(如下图所示)。
或者在界面修改