Example #1
0
        void menu_newServer(object sender, System.EventArgs e)
        {
            int nActiveLine = -1;

            if (ListView.SelectedIndices.Count != 0)
            {
                nActiveLine = ListView.SelectedIndices[0];
            }


            // ListViewItem item = listView1.Items[nActiveLine];

            LoginDlg dlg = new LoginDlg();

            dlg.Font = GuiUtil.GetDefaultFont();

            dlg.Text = "新增服务器地址和缺省帐户";

            if (nActiveLine == -1)
            {
                // 无参考事项情形的新增
                dlg.textBox_serverAddr.Text = "http://dp2003.com/dp2kernel";
                dlg.textBox_userName.Text   = "public";
            }
            else
            {
                dlg.textBox_password.Text         = ((Server)Servers[nActiveLine]).DefaultPassword;
                dlg.textBox_serverAddr.Text       = ((Server)Servers[nActiveLine]).Url;
                dlg.textBox_userName.Text         = ((Server)Servers[nActiveLine]).DefaultUserName;
                dlg.checkBox_savePassword.Checked = ((Server)Servers[nActiveLine]).SavePassword;
            }

            dlg.ShowDialog(this);

            if (dlg.DialogResult != DialogResult.OK)
            {
                return;
            }

            Server server = Servers.NewServer(nActiveLine);

            server.DefaultPassword = dlg.textBox_password.Text;
            server.Url             = dlg.textBox_serverAddr.Text;
            server.DefaultUserName = dlg.textBox_userName.Text;
            server.SavePassword    = dlg.checkBox_savePassword.Checked;

            Servers.Changed = true;

            FillList();

            // 选择一行
            // parameters:
            //		nIndex	要设置选择标记的行。如果==-1,表示清除全部选择标记但不选择。
            //		bMoveFocus	是否同时移动focus标志到所选择行
            ListViewUtil.SelectLine(ListView,
                                    Servers.Count - 1,
                                    true);

            m_bChanged = true;
        }