Advertisement
Fhernd

Principal.cs

Mar 5th, 2018
1,660
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.96 KB | None | 0 0
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4. namespace R718ArrastrarYSoltar
  5. {
  6.     public partial class Principal : Form
  7.     {
  8.         public Principal()
  9.         {
  10.             InitializeComponent();
  11.  
  12.             rtbTexto.AllowDrop = true;
  13.             rtbTexto.EnableAutoDragDrop = false;
  14.             rtbTexto.DragDrop += rtbTexto_DragDrop;
  15.             rtbTexto.DragEnter += rtbTexto_DragEnter;
  16.         }
  17.  
  18.         private void rtbTexto_DragDrop(object sender, DragEventArgs e)
  19.         {
  20.             RichTextBox rtbRichTextBox = sender as RichTextBox;
  21.  
  22.             if (rtbRichTextBox != null)
  23.             {
  24.                 int pos = rtbRichTextBox.SelectionStart;
  25.  
  26.                 string textoNuevo = rtbRichTextBox.Text.Substring(0, pos)
  27.                                     + e.Data.GetData(DataFormats.Text).ToString()
  28.                                     + rtbRichTextBox.Text.Substring(pos);
  29.  
  30.                 rtbRichTextBox.Text = textoNuevo;
  31.             }
  32.         }
  33.  
  34.         private void rtbTexto_DragEnter(object sender, DragEventArgs e)
  35.         {
  36.             if (e.Data.GetDataPresent(DataFormats.Text))
  37.             {
  38.                 e.Effect = DragDropEffects.Copy;
  39.             }
  40.             else
  41.             {
  42.                 e.Effect = DragDropEffects.None;
  43.             }
  44.         }
  45.  
  46.         private void rtbTexto_MouseDown(object sender, MouseEventArgs e)
  47.         {
  48.             RichTextBox rtbRichTextBox = sender as RichTextBox;
  49.  
  50.             if (sender != null && rtbRichTextBox.SelectionLength > 0 && Form.MouseButtons == MouseButtons.Left)
  51.             {
  52.                 int pos = rtbRichTextBox.GetCharIndexFromPosition(e.Location);
  53.  
  54.                 if (pos > rtbRichTextBox.SelectionStart &&
  55.                     pos <= (rtbRichTextBox.SelectionStart + rtbRichTextBox.SelectionLength))
  56.                 {
  57.                     rtbRichTextBox.DoDragDrop(rtbRichTextBox.SelectedText, DragDropEffects.Copy);
  58.                 }
  59.             }
  60.         }
  61.  
  62.         private void txtFuente_DragDrop(object sender, DragEventArgs e)
  63.         {
  64.             TextBox txtTextBox = sender as TextBox;
  65.  
  66.             if (txtTextBox != null)
  67.             {
  68.                 txtTextBox.Text = (String) e.Data.GetData(DataFormats.Text);
  69.             }
  70.         }
  71.  
  72.         private void txtFuente_DragEnter(object sender, DragEventArgs e)
  73.         {
  74.             if (e.Data.GetDataPresent(DataFormats.Text))
  75.             {
  76.                 e.Effect = DragDropEffects.Copy;
  77.             }
  78.             else
  79.             {
  80.                 e.Effect = DragDropEffects.None;
  81.             }
  82.         }
  83.  
  84.         private void txtFuente_MouseDown(object sender, MouseEventArgs e)
  85.         {
  86.             TextBox txtTextBox = sender as TextBox;
  87.  
  88.             if (txtTextBox != null && Form.MouseButtons == MouseButtons.Left)
  89.             {
  90.                 txtTextBox.SelectAll();
  91.                 txtTextBox.DoDragDrop(txtTextBox.Text, DragDropEffects.Copy);
  92.             }
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement