Image | Name | メソッド | 説明 |
---|---|---|---|
![]() | cd.gif | Open | ファイルを開く |
![]() | fdd.gif | Save | 上書き保存 |
![]() | dust.gif | Del_Node | ゴミ箱 |
![]() | sibling.gif | Add_Sibling | 空の兄弟項目を追加 |
![]() | child.gif | Add_Child | 空の子項目を追加 |
![]() | exit.gif | Exit | 終了 |
this.richTextBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.richTextBox1_KeyDown); |
// Function Key 編集(クリップボードを使う) private void richTextBox1_KeyDown(object sender, KeyEventArgs e) { string str; int st_idx, nxline, nx_idx, i; switch (e.KeyCode) { case Keys.F5: //Key Word st_idx = richTextBox1.SelectionStart; for (nx_idx = st_idx + 1; nx_idx < richTextBox1.Text.Length; nx_idx++) { for (i = 0; i < m_sep.Length && richTextBox1.Text[nx_idx] != m_sep[i]; i++) ; if (i < m_sep.Length) break; } m_sou = richTextBox1.Text.Substring(st_idx, nx_idx - st_idx); this.Text = "[" + m_sou + "]"; Clipboard.SetDataObject(m_sou, true); richTextBox1.Select(st_idx, nx_idx - st_idx); richTextBox1.SelectionColor = Color.DarkMagenta; richTextBox1.Select(0, 0); break; case Keys.F6: //Line Copy st_idx = richTextBox1.GetFirstCharIndexOfCurrentLine(); nxline = richTextBox1.GetLineFromCharIndex(st_idx) + 1; nx_idx = richTextBox1.GetFirstCharIndexFromLine(nxline); str = richTextBox1.Text.Substring(st_idx, nx_idx - st_idx) + "\n"; Clipboard.SetDataObject(str, true); richTextBox1.Select(nx_idx,0); break; case Keys.F7: //Line Cut st_idx = richTextBox1.GetFirstCharIndexOfCurrentLine(); nxline = richTextBox1.GetLineFromCharIndex(st_idx) + 1; nx_idx = richTextBox1.GetFirstCharIndexFromLine(nxline); str = richTextBox1.Text.Substring(st_idx, nx_idx - st_idx) + "\n"; Clipboard.SetDataObject(str, true); richTextBox1.Select(st_idx, nx_idx - st_idx); richTextBox1.SelectedText = ""; break; case Keys.F8: //Paste IDataObject data = Clipboard.GetDataObject(); if (data != null && data.GetDataPresent(DataFormats.Text) == true) { richTextBox1.Paste(); } break; } } |
char[] m_sep = { '\'', '"', ' ', '\n', ',', '=', '(', ')', '。', '、' }; |
this.richTextBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.richTextBox1_KeyDown); this.richTextBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.richTextBox1_DoubleClick); |
private void richTextBox1_DoubleClick(object sender, MouseEventArgs e) { int pos, rt, i; pos = richTextBox1.SelectionStart; for (; pos > 0; pos--) { for (i = 0; i < m_sep.Length && richTextBox1.Text[pos]!=m_sep[i]; i++) ; if (i < m_sep.Length) break; } if (richTextBox1.Text[pos] == '"' || richTextBox1.Text[pos] == '\'') { for (rt = pos + 2; rt < richTextBox1.Text.Length; rt++) { if (richTextBox1.Text[pos] == richTextBox1.Text[rt]) break; } } else { for (rt = pos + 1; rt < richTextBox1.Text.Length; rt++) { for (i = 0; i < m_sep.Length && richTextBox1.Text[rt] != m_sep[i]; i++) ; if (i < m_sep.Length) break; } } if (pos >= 0) pos++; m_sou = richTextBox1.Text.Substring(pos, rt-pos); this.Text = "[" + m_sou + "]"; Clipboard.SetDataObject(m_sou, true); if (File.Exists(m_sou)) { System.Diagnostics.Process.Start(m_sou); return; } if (String.Compare(m_sou.Substring(0, 5), "http:", true) == 0) { System.Diagnostics.Process.Start(m_sou); } } |
[Next Chapter ↓] User Menu を登録
[Previous Chapter ↑] Search Menu