Форум программистов, компьютерный форум, киберфорум
Наши страницы
NickoTin
Войти
Регистрация
Восстановить пароль
Рейтинг: 4.00. Голосов: 2.

C# IP TextBox

Запись от NickoTin размещена 02.03.2012 в 04:16
Обновил(-а) NickoTin 29.01.2014 в 04:58

Вот понадобилось как-то поле для ввода IP, изобретать велосипед самому не хочется, а решения в интернете это в большинстве своём варианты вида "3 лейбла и 4 текстбокса с проверкой правильности ввода", это печально... и в тот момент я вспомнил что MS в своих приложениях использует готовый компонент, подсмотрев с помощью WinSpy класс данного компонента (SysIpAddress32) я решил переопределить класс стандартного TextBox'а в .NET, тем самым создать вместо него компонент SysIpAddress32. Вот что в итоге получилось:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
class SysIPAddress : TextBox
{
    protected override CreateParams CreateParams
    {
        get
        {
            var cp = base.CreateParams;
            cp.ClassName = "SysIPAddress32";
 
            return cp;
        }
    }
}
Для моих целей этого хватило сполна Поискав аналогичные решения в гугле нашел более расширенный вариант (который при желании можно немного сократить в объеме).

Таким образом, переопределяя свойство CreateParams, можно воспроизвести некоторые системные компоненты которые не были добавлены в .NET по умолчанию (msctls_hotkey32 например), а если еще немного почитать MSDN так можно найти сообщения специально созданные для нужного компонента, которые, возможно, облегчат немного жизнь и реализацию.

Надеюсь, кому-нибудь информация будет полезной
Размещено в C# .NET, .NET
Просмотров 1943 Комментарии 2
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Аватар для INF1NUM
    как этим пользоваться?
    Запись от INF1NUM размещена 25.07.2012 в 16:14 INF1NUM вне форума
  2. Старый комментарий
    Аватар для NickoTin
    Добавить класс в проект и после можно использовать как компонент.
    Запись от NickoTin размещена 24.08.2012 в 01:26 NickoTin вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru