Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Bạn không thể thả văn bản trong một RichTextBox kiểm soát bằng cách sử dụng một mẫu mã từ MSDN tài liệu hướng dẫn

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:814309
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
Thông tin bản Beta
Bài viết này thảo luận về bản Beta của Microsoft một sản phẩm. Thông tin trong bài viết này được cung cấp như-là và có thể bị thay đổi mà không báo trước.

Không có hỗ trợ sản phẩm chính thức có sẵn từ Microsoft cho sản phẩm Beta. Thông tin về làm thế nào để có được hỗ trợ Đối với một phiên bản Beta, xem tài liệu đó là bao gồm trong phiên bản Beta tác phẩm sản phẩm, hoặc kiểm tra vị trí Web từ mà bạn đã tải về việc phát hành.
TRIỆU CHỨNG
Bạn cố gắng để kéo một RichTextBox kiểm soát với các mã ở mặt "Enabling kéo và thả Dương với kiểm soát RichTextBox các hình thức của Windows"tài liệu MSDN. Sự thay đổi có thể xảy ra trong con trỏ khi bạn kéo văn bản từ WordPad. Tuy nhiên, bạn không thể thả các văn bản từ các RichTextBox.
NGUYÊN NHÂN
Vấn đề này xảy ra vì không có mã cho các Thả sự kiện trong tài liệu MSDN. Vì vậy, bạn không thể thả các văn bản mà bạn chọn từ WordPad trong các RichTextBox.
GIẢI PHÁP
Để làm việc xung quanh vấn đề này, thêm một DragDrop sự kiện cho RichTextBox1. Để thực hiện việc này, sử dụng các hướng dẫn sau đây.

Visual Basic.NET hoặc Visual Basic 2005

Thêm mã sau trong các RichTextBox1 DragDrop sự kiện:
   Dim i As Int16    Dim s As String   ' Get Start Position For the for Dropping the Text     i = RichTextBox1.SelectionStart   s = RichTextBox1.Text.Substring(i)   RichTextBox1.Text = RichTextBox1.Text.Substring(0, i)   ' Drop the Text on to the RichTextBox   RichTextBox1.Text = RichTextBox1.Text + e.Data.GetData(DataFormats.Text).ToString()   RichTextBox1.Text = RichTextBox1.Text + s   
Visual C#.NET hoặc Visual C# 2005

Thêm mã sau đây để các Form1 nhà xây dựng lớp sau khi các InitializeComponent() nội dung:
// Handler for DragDrop eventthis.richTextBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.rtb_dragdrop);
Thêm thủ tục sau đây vào mã sau khi các Main() phương pháp:
private void rtb_dragdrop(object sender,DragEventArgs e){   int i;   String s;      // Get Start Position to Drop the Text     i = richTextBox1.SelectionStart;   s = richTextBox1.Text.Substring(i);   richTextBox1.Text = richTextBox1.Text.Substring(0,i);   // Drop the Text on the RichTextBox   richTextBox1.Text = richTextBox1.Text + e.Data.GetData(DataFormats.Text).ToString();   richTextBox1.Text = richTextBox1.Text + s;}
TÌNH TRẠNG
Điều này hành vi là do thiết kế.
THÔNG TIN THÊM

Các bước để tạo lại hành vi

  1. Trong Microsoft Visual Studio.NET hoặc Microsoft Visual Studio 2005, tạo ra một cửa sổ mới dự án ứng dụng bằng cách sử dụng Visual Basic.NET, năm 2005 Visual Basic, Visual C#.NET, hoặc Visual C# 2005.

    Bởi mặc định, Form1 được tạo ra.
  2. Từ hộp công cụ, kéo một RichTextBoxkiểm soát để Form1.

    RichTextBox1 là tạo ngày Form1.
  3. Nhấp chuột phải RichTextBox1, sau đó bấmThuộc tính.
  4. Trong cửa sổ thuộc tính, thiết lập giá trị choAllowDrop để Sự thật.
  5. Nhấp chuột phải Form1, sau đó bấmXem mã.
  6. Thêm mã sau trong các RichTextBox1DragEnter sự kiện:

    Visual Basic.NET hoặc Visual Basic 2005 mã
       If (e.Data.GetDataPresent(DataFormats.Text)) Then      e.Effect = DragDropEffects.Copy   Else      e.Effect = DragDropEffects.None   End If
    Visual C#.NET hoặc Visual C# 2005 mã
    private void rtb_dragenter(object sender,DragEventArgs e){   if (e.Data.GetDataPresent(DataFormats.Text))       e.Effect = DragDropEffects.Copy ;   else      e.Effect = DragDropEffects.None ;}
  7. Cố gắng để kéo văn bản từ WordPad đểRichTextBox1.

    Bạn không thể thả các văn bản.
THAM KHẢO
Để biết thêm chi tiết, hãy truy cập trang Web MSDN sau Trang web:

Cho phép kéo và thả các hoạt động với Windows Forms RichTextBox kiểm soát
http://msdn2.Microsoft.com/en-US/Library/Aa984395 (VS.71) .aspx
Cho thêm thông tin về các RichTextBox.DragEnter sự kiện và các RichTextBox.DragDrop sự kiện, xem của bạn.NET Framework SDK tài liệu hoặc truy cập vào các MSDN Web site sau:

Sự kiện RichTextBox.DragEnter
http://msdn2.Microsoft.com/en-US/Library/System.Windows.Forms.richtextbox.dragenter (vs.71) .aspx

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 814309 - Xem lại Lần cuối: 02/21/2014 00:45:36 - Bản sửa đổi: 2.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual C# 2005 Express Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbvs2005swept kbvs2005applies kbprb kbwindowsforms kbproperties kbevent kbrichedit kbdragdrop kbmt KB814309 KbMtvi
Phản hồi