Рейтинг:
2
OriginalGriff
Он не "исчезает в форме", а остается там, где был - частью панели, просто его координаты находятся за пределами видимой области панели.
Когда метка является частью панели, она хранится в панели.Управляет коллекцией, так же как и сама панель хранится как часть коллекции Form.Controls. Когда вы перетаскиваете метку за пределы панели, это автоматически не меняет ее "родительский элемент управления", а просто устанавливает "невидимую координату".
Если вы хотите перетащить метки за пределы панели, вам придется обнаружить, что она находится за пределами границ, и переместить ее из одной коллекции элементов управления контейнером в новую. (И, вероятно, переверните его, когда вы попытаетесь перетащить его обратно на панель позже).
Member 14630006
то, что я пытаюсь сделать, - это заставить метку двигаться внутри границ панели
Рейтинг:
1
Dave Kreskowiak
Я уже говорил вам, как это сделать, в моей статье, которая описывает именно это. Я поместил ссылку в свой ответ на предыдущий пост этого вопроса.
Ну и что с того, что код написан в VB.NET-что? Код легко конвертируется в C#.
Концепции, необходимые для этого, изложены в статье, если вы потрудитесь прочитать ее, так что вы можете создать свои собственные элементы управления для этого.
Если вы ищете блок кода "copy'n'paste", чтобы сделать эту работу, вы его не найдете. Сделав это, вы просто станете копи-Н-Пастером, а не тем, кто действительно знает, как писать код.
Member 14630006
это другой вопрос Дорогой Дэйв а в visual basic есть обработчик который не существует на c#
Dave Kreskowiak
Комментарии не отображаются в QA прямо сейчас, но из вашей электронной почты, нет, это не другой вопрос.
Решение проблемы "исчезновения" элементов управления рассмотрено в моей статье.
И опять же, код конвертируется в C#. Все, что вы делаете, - это создаете свой собственный элемент управления, используя существующий элемент управления Label для наследования.
Если вы не знаете, как создавать свои собственные события в C#, я предлагаю вам посмотреть его.
Member 14630006
есть ли StayWithinParentBounds в c#? Я не могу найти его поэтому я спрашиваю есть ли другой способ
Richard MacCutchan
#Мету.
Dave Kreskowiak
Нет, нет никакого "StayWithinParentBounds" ни в одном языке или в любом контроле. Вы должны это закодировать. Если бы вы прочитали статью и изучили код, вы бы поняли это.