C # Правильный способ разработки / реализации этого интерфейса? - PullRequest
1 голос
/ 06 августа 2009

Это мой первый свидание с C #. Форма, которую я имею в виду, состоит

  1. A текстовое поле , которое будет содержать путь к исполняемому файлу.
  2. Кнопка " Run ", которая вызывает исполняемый файл (приложение cosole)
  3. Вывод исполняемой консоли должен отображаться в расширенном текстовом поле .

Теперь, когда я нажимаю на строку в поле richtext, я выбираю и получаю текст в строке. Этот текст сопоставляется с другой текстовой информацией. Мне нужно отобразить эту текстовую информацию в виде всплывающей подсказки над строкой.

Больше объяснений: Выходные данные exe отображаются в текстовом поле как

Адрес1 = Значение

Адрес2 = Value

Теперь, когда я нажимаю на строку «Address1 = Value», я сопоставляю этот текст, чтобы найти некоторую информацию о том, какие биты установлены как

включить: 1

выберите: 0 .. и т. Д.

эту информацию мне нужно отобразить в виде всплывающей подсказки над строкой. Это возможно? Есть ли лучшая альтернатива RTB / подсказка для этой проблемы?

Спасибо

Вивек

Ответы [ 2 ]

2 голосов
/ 06 августа 2009

Я бы рекомендовал использовать ListBox для каждой возвращаемой строки данных, а затем, если вы используете всплывающую подсказку, это имеет больше смысла, поскольку вы наводите курсор на элемент списка, а не на целое текстовое поле.

Использование ListBox и элементов должно значительно облегчить работу с ним в целом, поскольку оно будет разделять их на определенные элементы, а не просто добавлять строки в текстовое поле.

Также я думаю, что у вас может быть много работы для того, чтобы попытаться заставить текстовое поле вести себя так, как вы хотите, чтобы оно обрабатывало каждую строку по-разному в зависимости от текста строки.

Если вы используете текстовое поле, потому что позже вы хотите иметь возможность выбрать все выходные данные, чтобы скопировать и вставить его, у меня будет текстовое поле, скрытое по умолчанию, и кнопка с надписью «Переключить необработанный вывод», которая покажет / скрыть текстовое поле, чтобы пользователи могли легко получить текст. При использовании ListBox в качестве основного дисплея для информации.

1 голос
/ 06 августа 2009

Что я понимаю из вашего вопроса, так это то, что когда вы нажимаете на строку в RTB, ваш код сканирует текст в этой строке, идентифицирует дополнительные данные, связанные с этой строкой, а затем вставляет их во всплывающую подсказку для RTB.

Технически я считаю, что это возможно, хотя я не уверен на 100% в механике вставки текста всплывающей подсказки. Однако в качестве функции пользовательского интерфейса я бы лично не делал этого, так как текст всплывающей подсказки отображается всякий раз, когда указатель мыши находится где-нибудь над RTB. Таким образом, если пользователь щелкает строку № 1 (и видит данные, связанные со строкой № 1), но наводит указатель мыши на строке № 3, он может подумать, что всплывающая подсказка связана со строкой № 3.

Вы могли бы смягчить мои опасения с помощью сильно сформулированной подсказки, но я чувствую, что вы делаете, неправильно используете подсказку для чего-то другого, чем то, для чего она была предназначена. ИМХО, возможно, вам лучше отображать свои данные с помощью древовидного элемента управления, а не RTB, так как древовидный элемент управления более естественно выражает желаемую функциональность (щелкните узел, разверните его, чтобы увидеть подробности и т. Д.). *

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