我正在寻找这些语句的C#替代品,这些语句在VB中并且已经使用Telerik在线转换器转换为C#。编译器会因为无法识别这些语句而产生错误。
My.Settings.MainScreenLeft = Me.Left
My.Settings.MainScreenTop = Me.Top
My.Settings.MainScreenWidth = Me.Width
My.Settings.Save()
答案 0 :(得分:2)
C#中没有My
的直接翻译。此链接提供了有关在C#中使用VB My
类的详细信息:
https://msdn.microsoft.com/en-us/library/ms173136.aspx
由于您尝试使用“设置”访问项目设置,因此请尝试使用My.Settings.
替换语句中的Properties.Settings.Default.
。确保您正在访问的属性(如MainScreenTop
)作为项目属性中的设置存在。
答案 1 :(得分:2)
答案 2 :(得分:2)
部分问题是您的转换器可能无法正确转换原始的Settings.Designer.vb文件。
原件的结构通常如下:
Partial NotInheritable Class Settings
Inherits Global.System.Configuration.ApplicationSettingsBase
...
End Class
但是您的C#文件的结构应如下所示,以使之前的建议有效:
namespace YourRootNamespace //project-level original VB 'root' namespace, if you have one
{
namespace Properties
{
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
...
}
}
}
现在有关使用'Properties.Settings.Default'的建议将有效。
此外,在该类的底部,VB在“我的”命名空间中包含一个模块“MySettingsProperty” - 只需删除它(这只是允许'Settings'类包含在'My'命名空间中)。 / p>
答案 3 :(得分:1)
Properties.Settings.Default.Reload();
Properties.Settings.Default.MainScreenLeft = this.Left;
Properties.Settings.Default.MainScreenTop = this.Top;
Properties.Settings.Default.MainScreenWidth = this.Width;
Properties.Settings.Default.Save();
Properties.Settings.Default.Mode = CboMode.SelectedItem.ToString();