private void okButton_Click(object sender, EventArgs e) { var exts = extensionsBox.Text.Trim(); var re = new Regex(@"^(?:\*|(?:[_0-9a-z]+)(?:\s*\|\s*(?:[_0-9a-z]+))*)$", RegexOptions.IgnoreCase); if (!re.IsMatch(exts)) { MessageBox.Show(this, "拡張子の入力に誤りがあります。拡張子に使える文字は[_0-9a-zA-Z]です。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } Filter = new ExtensionFilter(false, exts, descriptionBox.Text.Trim()); }
private void editButton_Click(object sender, EventArgs e) { var item = extensionsView.SelectedItems.Cast<ListViewItem>().DefaultIfEmpty(null).First(); if (item == null) { MessageBox.Show(this, "項目が選択されていません。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var filter = new ExtensionFilter(false, item.SubItems[1].Text, item.SubItems[2].Text); var dialog = new InputExtensionDialog(filter); if (dialog.ShowDialog(this) == DialogResult.OK) { item.SubItems[1].Text = dialog.Filter.ExtensionsString; item.SubItems[2].Text = dialog.Filter.Description; } }
public InputExtensionDialog(ExtensionFilter filter) { InitializeComponent(); Filter = filter; // コピーオンライトのためそのままセットする }