コード例 #1
0
        private void button_OK_Click(object sender, System.EventArgs e)
        {
            string strTarget = "";
            string strStyle  = "";

            if (radioButton_skip.Checked == true)
            {
                strStyle = "skip";
            }

            if (radioButton_append.Checked == true)
            {
                if (this.textBox_appendDbName.Text == "")
                {
                    MessageBox.Show(this, "在选择了追加方式的情况下,必须选择目标库...");
                    return;
                }
                strTarget = this.textBox_appendDbName.Text;
                strStyle  = "append";
            }

            if (radioButton_overwrite.Checked == true)
            {
                if (this.textBox_overwriteDbName.Text == "")
                {
                    MessageBox.Show(this, "在选择了覆盖方式的情况下,必须选择目标库...");
                    return;
                }
                strTarget = this.textBox_overwriteDbName.Text;
                strStyle  = "overwrite";
            }

            // 如果要仅仅当次起作用,需要深复制Map,以便对话框调主使用后自动丢弃
            if (checkBox_notAskWhenSameOrigin.Checked == false)
            {
                this.Map = this.Map.Clone();
            }

            string strError = "";

            if (Map.NewItem(Origin, strTarget, strStyle, out strError) == null)
            {
                MessageBox.Show(this, strError);
                return;
            }

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
コード例 #2
0
        // 询问无法匹配的源路径如何处理
        // return:
        //      -1  出错
        //		0	cancel全部处理
        //		1	已经选择处理办法
        public static int AskNotMatchOriginBox(
            IWin32Window owner,
            ApplicationInfo ap,
            string strComment,
            SearchPanel searchpanel,
            string strOrigin,
            DbNameMap map)
        {
            DbNameMapItemDlg dlg = new DbNameMapItemDlg();

            dlg.Font = GuiUtil.GetDefaultFont();

            dlg.Comment     = strComment;
            dlg.AskMode     = AskMode.AskNotMatchOrigin;
            dlg.SearchPanel = searchpanel;
            dlg.Origin      = strOrigin;
            dlg.Target      = "";
            dlg.WriteMode   = "append";

            dlg.Text = "请指定映射关系";

            if (ap != null)
            {
                ap.LinkFormState(dlg, "AskNotMatchOriginBox_state");
            }
            dlg.ShowDialog(owner);
            if (ap != null)
            {
                ap.UnlinkFormState(dlg);
            }

            if (dlg.DialogResult != DialogResult.OK)
            {
                return(0);       // cancel
            }
            string strError = "";

            if (map.NewItem(dlg.Origin, dlg.Target,
                            dlg.WriteMode,
                            0, // 插入最前面
                            out strError) == null)
            {
                MessageBox.Show(owner, strError);
                return(-1);
            }

            return(1);
        }