Одесса: 6°С (вода 9°С)
Киев: 1°С
Львов: 5°С

Тема: c# - help needed

Ответить в теме
Показано с 1 по 19 из 19
  1. Вверх #1
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70

    По умолчанию c# - help needed

    Решил на досуге написать какую-нибудь относительно простенькую программу на шарпе. Долго думал и в голову не пришло ничего лучше, чем написать бота для браузерки. В процессе возникают вопросы и не на все вопросы находятся ответы в гугле. Решил спросить совета.
    Пишется под .NET 2.0, если что.
    ---

    1) На форме находятся два лэйбла, два текстбокса и кнопка + картинка как фон формы.
    Нужен был метод для очистки формы, в результате было написано следующее
    private void ClearForm(Form form)
    {
    this.SuspendLayout();
    foreach (Control ctrl in form.Controls)
    {
    ctrl.Dispose();
    }
    this.BackgroundImage.Dispose();
    this.BackgroundImage = null;
    this.ResumeLayout();
    }
    Но, при использовании данного метода все лэйблы остаются на форме. Все контролы добавлялись прямо на форму, следовательно должны находится в this.Controls (теоретически). Что я сделал не так?

    2) При запуске в окне показывается форма логина, в случае успешного логина необходимо вместо формы логина отображать другие данные. В данном случае лучше перерисовывать форму или создавать новую?

    3) Если после клика по кнопке на основной форме создаётся дочерняя форма (основная при этом скрывается), как остановить выполнение программы если пользователь закрыл дочернюю форму (кликом по кнопке в углу формы)? В MSDNе предлагали использовать FormClosingEvent - пробовал, не сработало.


  2. Вверх #2
    А разве удаление из this.Controls не убирает элемент с формы?
    =)

  3. Вверх #3
    Постоялец форума Аватар для sleep-walker
    Пол
    Мужской
    Сообщений
    1,334
    Репутация
    139
    1.
    Код:
    private void ClearForm(object sender, EventArgs e)
            {
                this.Controls.Clear();
            }
    2. Создать новую.
    3.
    Код:
     private void Form2_FormClosing(object sender, FormClosingEventArgs e)
            {
                Application.Exit();
            }
    Последний раз редактировалось sleep-walker; 01.05.2010 в 02:01.

  4. Вверх #4
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70
    mutex
    видимо я просто некорректно объяснил в чём суть. Суть была в том, что foreach теоретически должен был проходить по всем элементам формы т.к. Label наследует тип Control. А на foreach проходил через оба тектсбокса, баттон и в упор не замечал лэйблы.

    sleep-walker
    спасибо, про Clear() забыл. Очень помогло.
    А c FormClosing я по невнимательности накосячил, уже получилось.

    ---
    Спасибо за ответы.

  5. Вверх #5
    Частый гость Аватар для Gogs
    Пол
    Мужской
    Возраст
    30
    Сообщений
    503
    Репутация
    40
    Надеюсь тут есть программисты.Я-начинающий,т.е. хочу научиться програмить-например на С(++).Читал книгу-Б.Страустрапа про програмирование-на С.В принципе все понятно,хотя сложновато-в школе изучал тока паскаль.Так вот-там есть такая прога-для начинающих:
    main()

    {

    int inch = 0; // inch - дюйм

    cout << "inches";

    cin >> inch;

    cout << inch;

    cout << " in = ";

    cout << inch*2.54;

    cout << " cm\n";

    }
    Скачал-визуал басик-там не идет.Вопрос-в какой проге ее запустить?(еси есть-дайте ссылку)
    И второй вопрос-посоветуйте книгу для программинга под виндоус-для окон,спасибо.
    давайте посмотрим на все с реальной стороны и увидим нереальность

  6. Вверх #6
    скачай borland studio 2006 или позднее, но 2006 хороша совместимостью с другими компиляторами - поодерживает c++, c#, delphi, delphi asp.net. если учил в школе Pascal - лучше начинай с Delphi Language, а когда разберешься что к чему, где-то через месяцев 6, то сможешь перейти на любой системный язык или на web

  7. Вверх #7
    Частый гость Аватар для Gogs
    Пол
    Мужской
    Возраст
    30
    Сообщений
    503
    Репутация
    40
    Спасибо-а на счет виндовс?
    давайте посмотрим на все с реальной стороны и увидим нереальность

  8. Вверх #8
    это под винду, если тебе нужно под юникс, то тут лучше перл
    качать лучше с какого-нибудь трекера, весит под 4,5Гига

  9. Вверх #9
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70
    Черный Зайчик, Gogs
    во-первых, пожалуйста не захламляйте топик - он мне ещё пригодится. А во-вторых, ув. Gogs, учитывая, что изучать вы хотите C/C++ и исходник написан на нём, то логично что нужен компилятор для C/C++. Поставьте уж MS Visual C++ Express Edition.

  10. Вверх #10
    Посетитель Аватар для Suicide
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    354
    Репутация
    27
    А как сделать чтобы при наведении на контрол с текстом, который не вмещается в ширину контрола появлялась подсказка с этим текстом, как на картинке?

  11. Вверх #11
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70
    Suicide
    дык в MSDN'е ж приведен толковый пример.
    private void Form1_Load(object sender, System.EventArgs e)
    {
    System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
    ToolTip1.SetToolTip(this.textBox1, "Hello");
    }

    //
    This example requires:

    * A form named Form1 with a TextBox control named textBox1. Set Form1's Load event handler to Form1_Load.

  12. Вверх #12
    Посетитель Аватар для Suicide
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    354
    Репутация
    27
    Ryogo, точно, а я совсем в другом месте искал.

  13. Вверх #13
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70
    Столкнулся с немного неприятной вещью.

    итак
    ...
    double[] inters;
    ...
    inters = GetIntersections();
    DrawLine(inters[0], inters[1], inters[3], inters[4]);
    ...
    GetIntersections() - статичный метод, возвращает double[]
    DrawLine - статичный метод, рисует линию по заданным 4-ём координатам.

    Суть проблемы:
    к моменту выполнения
    метода DrawLine()
    массив inters оказывается пуст, подозреваю, что к этому моменту перестаёт существовать объект ссылка на который была присвоена массиву inters на предыдущем шаге. Меня такое поведение немного удивляет, т.к. перед этим аналогичная операция проделывается порядка 6-ти раз без каких-либо проблем.
    Так вот, как лучше поступить в данном случае?

    upd: неактуально, проблема в самом GetIntersections().
    Последний раз редактировалось Ryogo; 12.12.2010 в 18:49. Причина: решено

  14. Вверх #14
    Посетитель
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    31
    Сообщений
    191
    Репутация
    28
    Цитата Сообщение от Черный Зайчик Посмотреть сообщение
    скачай borland studio 2006 или позднее, но 2006 хороша совместимостью с другими компиляторами - поодерживает c++, c#, delphi, delphi asp.net. если учил в школе Pascal - лучше начинай с Delphi Language, а когда разберешься что к чему, где-то через месяцев 6, то сможешь перейти на любой системный язык или на web
    Microsoft Visual Studio, а Borland идёт лесом. А за Delphi даже садится не стоит! Бездарный язык. Gogs, не слушай его, учи C/C++ сразу.

    Edit: Протупил с датой сообщения. Надеюсь, ты ещё не начал учить этот беспонтовый язык Delphi...
    Последний раз редактировалось Zelion_D; 12.12.2010 в 20:17.

  15. Вверх #15
    Посетитель
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    31
    Сообщений
    191
    Репутация
    28
    Цитата Сообщение от Ryogo Посмотреть сообщение
    подозреваю, что к этому моменту перестаёт существовать объект ссылка на который была присвоена массиву inters на предыдущем шаге.
    Сори за коммент, но ссылка будет действовать, как минимум, пока не отработает функция.

  16. Вверх #16
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70
    Zelion_D
    это я знаю. В данном случае метод успевает отработать. Но уже неважно, там мой косяк был. Просто внимательнее быть надо.

  17. Вверх #17
    помогите придумать 2 примера для класса "стабильные"

  18. Вверх #18
    Частый гость Аватар для Ryogo
    Пол
    Мужской
    Адрес
    Одесса
    Сообщений
    896
    Репутация
    70
    Подскажите OODB бесплатную для коммерческого использования или порекомендуйте легковесную ORM для SqLite с наличием атрибу Ignore для полей. Пробовал OrmLite (нет атрибута Ignore), PetaPOCO (аналогично). Сейчас использую DbLinq, но она такая тормозная...

  19. Вверх #19
    Приветствую всех!!! Кто мог бы дать частные занятия по работе с C Sharp. Очень нужно!


Ответить в теме

Похожие темы

  1. Mortification - help find
    от krieger в разделе Музыка
    Ответов: 7
    Последнее сообщение: 01.03.2004, 15:54
  2. Прошу help!!
    от KanuTaH в разделе Музыка
    Ответов: 6
    Последнее сообщение: 29.02.2004, 12:12
  3. help!!
    от Cool в разделе Музыка
    Ответов: 4
    Последнее сообщение: 24.02.2004, 11:52
  4. PLEAS HELP
    от Anonymous в разделе Музыка
    Ответов: 2
    Последнее сообщение: 12.02.2004, 07:20
  5. help
    от Anonymous в разделе Музыка
    Ответов: 4
    Последнее сообщение: 10.02.2004, 11:49

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения