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))