Primo Chalice Ответов: 1

Как Скопировать текст из одного проекта в другой?


Привет,

У меня есть два проекта открытых в одном решении в Visual Studio 2017 (VB.NET). Я связал кнопку из Project1 в Project2, но я также хочу скопировать содержимое текстового поля.


У меня есть RichTextBox в Project1 и обычное текстовое поле в Project2. Я хочу добавить функцию в кнопку, чтобы, если я нажму на нее, она скопировала все, что написано в RichTextBox, в текстовое поле другого проекта.


P.S. В настоящее время кнопка только открывает новый проект и больше ничего не делает.



Ниже приведен код, который я написал, чтобы открыть новый проект.

Что я уже пробовал:


Console.WriteLine(Application.StartupPath)
        Dim WinApp2Form1 As New BasicTest.Form1
        WinApp2Form1.Show()

1 Ответов

Рейтинг:
1

OriginalGriff

Ты не хочешь этого делать, по крайней мере. не напрямую.
Чтобы получить доступ к текстовому полю другой формы (будь то в той же сборке / проекте или в другом проекте), вы должны сделать его общедоступным для всего мира - и это плохая идея, потому что он "блокирует" дизайн обеих форм: вы не можете изменить его, не нарушив потенциально другой код.

Вместо этого используйте свойство во второй форме, к которому обращается первый, и второй установщик форм становится ответственным за обновление текстового поля (или любых других элементов управления, которые он хочет использовать).

Вот вам пример: Передача информации между двумя формами, Часть 1: Родитель-Ребенок[^] - код написан на C#, но он довольно очевиден, и онлайн-переводчики могут конвертировать его, если вы не можете его понять.


OriginalGriff

Совершенно другой вопрос - который должен быть в своем собственном посте, чтобы он привлекал тех, кто занимается такими вещами; я этого не делаю!

Primo Chalice

Привет,

Я действительно заставил его работать. В основном я использовал функцию буфера обмена для копирования текста и вставки его во второй проект, используя функцию буфера обмена на событии Button1_Click.

OriginalGriff

НИКОГДА ТАК НЕ ДЕЛАЙ!

Существует только один буфер обмена для всей машины, и если вы возитесь с содержимым, вы серьезно разозлите пользователей.
Например, если я также работаю над сложным изображением, буфер обмена может содержать результаты многочасовой работы по вырезанию определенного элемента из растрового изображения. Приходит ваше приложение и выбрасывает его в мусорное ведро. Просто, как счастлив ты думаешь, что я собираюсь быть?

Никогда, никогда, никогда не прикасайтесь к буферу обмена без специального экспресс - приказа от пользователя-или ваше программное обеспечение будет удалено с крайним предубеждением!