Как перетащить слово из текстового поля в другое в определенном месте в C # - PullRequest
1 голос
/ 15 марта 2012

У меня небольшая проблема с перетаскиванием текста из приложения winforms C #.

Я хочу перетащить содержимое из «TextBoxA» и поместить его в определенное место в «TextBoxB».

например,

TextBoxA.Text = "Big "
TextBoxB.Text = "Hello World"

При перетаскивании «Big» из TextBoxA и перетаскивании его между «Hello World» из TextBoxB, TextBoxB будет выглядеть примерно так: «Hello Big World» (зависит от того, гдемышь отпущена).

Ответы [ 2 ]

0 голосов
/ 15 января 2016

Я понимаю, что это очень старый вопрос, но подумал, что на него все же стоит ответить.

Комментарии в приведенном ниже коде довольно понятны - дайте мне знать, если у вас есть какие-либо вопросы.

    public Form1()
    {
        InitializeComponent();

        // Allow TextBoxB to accept a drop.
        TextBoxB.AllowDrop = true;

        // Add event handlers to manage the drag drop action.
        TextBoxB.DragEnter += TextBoxB_DragEnter;
        TextBoxB.DragDrop += TextBoxB_DragDrop;
    }

    void TextBoxB_DragEnter(object sender, DragEventArgs e)
    {
        // Update cursor to inform user of drag drop action.
        if (e.Data.GetDataPresent(DataFormats.Text)) e.Effect = DragDropEffects.Copy;
    }

    void TextBoxB_DragDrop(object sender, DragEventArgs e)
    {
        // Get the current cursor postion within the control.
        var point =TextBoxB.PointToClient(Cursor.Position);

        // Find the character index based on cursor position.
        var pos = TextBoxB.GetCharIndexFromPosition(point);

        // Insert the required text into the control.
        TextBoxB.Text = TextBoxB.Text.Insert(pos, TextBoxA.Text);
    }
0 голосов
/ 15 марта 2012

Надеюсь, этот пример поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...