diff --git a/v2rayN/v2rayN/Forms/MainForm.cs b/v2rayN/v2rayN/Forms/MainForm.cs index eff1d682..086c41df 100644 --- a/v2rayN/v2rayN/Forms/MainForm.cs +++ b/v2rayN/v2rayN/Forms/MainForm.cs @@ -87,6 +87,12 @@ namespace v2rayN.Forms MainFormHandler.Instance.RegisterGlobalHotkey(config, OnHotkeyHandler, UpdateTaskHandler); _ = LoadV2ray(); + + if (!Utils.CheckForDotNetVersion()) + { + UI.ShowWarning(ResUI.NetFrameworkRequirementsTip); + AppendText(false, ResUI.NetFrameworkRequirementsTip); + } } private void MainForm_FormClosing(object sender, FormClosingEventArgs e) @@ -340,7 +346,7 @@ namespace v2rayN.Forms if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0) { lvServers.Items[index].Selected = true; - lvServers.EnsureVisible(index); // workaround + lvServers.SetScrollPosition(index); } } @@ -1139,7 +1145,7 @@ namespace v2rayN.Forms if (index >= 0 && index < lvServers.Items.Count && lvServers.Items.Count > 0) { lvServers.Items[index].Selected = true; - lvServers.EnsureVisible(index); // workaround + lvServers.SetScrollPosition(index); } SetVisibleCore(true); diff --git a/v2rayN/v2rayN/Resx/ResUI.Designer.cs b/v2rayN/v2rayN/Resx/ResUI.Designer.cs index 789e013c..194e520b 100644 --- a/v2rayN/v2rayN/Resx/ResUI.Designer.cs +++ b/v2rayN/v2rayN/Resx/ResUI.Designer.cs @@ -708,6 +708,15 @@ namespace v2rayN.Resx { } } + /// + /// 查找类似 Normal use of this version requires .NET Framework 4.8 的本地化字符串。 + /// + internal static string NetFrameworkRequirementsTip { + get { + return ResourceManager.GetString("NetFrameworkRequirementsTip", resourceCulture); + } + } + /// /// 查找类似 Non-VMess or ss protocol 的本地化字符串。 /// diff --git a/v2rayN/v2rayN/Resx/ResUI.resx b/v2rayN/v2rayN/Resx/ResUI.resx index 0aa08ec9..c329bf6c 100644 --- a/v2rayN/v2rayN/Resx/ResUI.resx +++ b/v2rayN/v2rayN/Resx/ResUI.resx @@ -472,4 +472,7 @@ Servers (Filter : {0}) + + Normal use of this version requires .NET Framework 4.8 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx index f4c8cc69..d76eacd5 100644 --- a/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx +++ b/v2rayN/v2rayN/Resx/ResUI.zh-Hans.resx @@ -472,4 +472,7 @@ 服务器 (过滤器 : {0}) + + 正常使用此版本需要.NET Framework 4.8,请更新后重启 + \ No newline at end of file diff --git a/v2rayN/v2rayN/Tool/Utils.cs b/v2rayN/v2rayN/Tool/Utils.cs index 54f65f35..c3fd29b5 100644 --- a/v2rayN/v2rayN/Tool/Utils.cs +++ b/v2rayN/v2rayN/Tool/Utils.cs @@ -694,7 +694,7 @@ namespace v2rayN /// /// 需要的版本4.6.2=394802;4.8=528040 /// - public static bool GetDotNetRelease(int release) + public static bool CheckForDotNetVersion(int release = 528040) { const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))