示例#1
0
        private void  前を変更するRToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int rowidx = getFirstSelectedRowIndex();

            if (rowidx == -1)
            {
                return;
            }

            Ground.ServerInfo si       = siSheetGetRow(rowidx);
            string            valTitle = si.title;

            for (; ;)
            {
                if (InputStringDlg.perform(
                        "新しい名前を入力して下さい。",
                        ref valTitle,
                        1000
                        ) == false
                    )
                {
                    break;
                }

                try
                {
                    if (valTitle == "")
                    {
                        throw new FailedOperation("名前が入力されていません。");
                    }

                    for (int rr = 0; rr < siSheet.RowCount; rr++)
                    {
                        if (rr != rowidx && valTitle == siSheetGetRow(rr).title)
                        {
                            throw new FailedOperation("名前が重複しています。");
                        }
                    }

                    // 変更を反映
                    si.title = valTitle;
                    siSheetSetRow(rowidx, si);
                    Utils.adjustColumnsWidth(siSheet);

                    break;
                }
                catch (Exception ex)
                {
                    FailedOperation.caught(ex);
                }
            }
        }
示例#2
0
        public static bool perform(string prompt, ref string value, int lenmax = 1000)
        {
            using (InputStringDlg f = new InputStringDlg(prompt, value, lenmax))
            {
                f.ShowDialog();

                if (f.okPressed)
                {
                    value = f.retValue;
                    return(true);
                }
            }
            return(false);
        }