diff --git a/shadowsocks-csharp/View/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs index 91c4e0d2..b0228795 100755 --- a/shadowsocks-csharp/View/ConfigForm.cs +++ b/shadowsocks-csharp/View/ConfigForm.cs @@ -218,9 +218,10 @@ namespace Shadowsocks.View return; } Server currServer = _modifiedConfiguration.configs[_lastSelectedIndex]; - _modifiedConfiguration.configs.Add(currServer); + var currIndex = _modifiedConfiguration.configs.IndexOf( currServer ); + _modifiedConfiguration.configs.Insert(currIndex + 1, currServer); LoadConfiguration(_modifiedConfiguration); - ServersListBox.SelectedIndex = _modifiedConfiguration.configs.Count - 1; + ServersListBox.SelectedIndex = currIndex + 1; _lastSelectedIndex = ServersListBox.SelectedIndex; }