Страница: 1 | 2 |
Вопрос: Помогите!!!
Добавлено: 01.02.07 14:38
Автор вопроса: Visual Basic .NET 2005 Пиратская версия | Web-сайт:
Когда я рисую на форме в VB.NET 2005 отказывается работать функция DrawString. Вот исходник:
Public Class Forma
Dim g as Graphics = Graphics.FromHwnd(Me.Handle)
Private Sub Forma_Load(ByVal sender as system.object,byval e as System.eventArgs) Handles MyBase.Load
g.DrawString(Pens.White,"HELP ME!!!!!!",New Font("tahoma",13),0,0)
End Class
Ответы
Всего ответов: 19
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 01.02.07 14:46
А кто тебя учил рисовать в Forma_Load, ты где увидел эту чушь??? Разумеется ты ничего не увидишь, потому что при первом же событии Paint (а оно будет при событии Shown) твоя надпись сотрётся нафиг!!
И судя по FromHwnd ты, наверное, тоже из бывших VB6 -ов??
Номер ответа: 2
Автор ответа:
Visual Basic .NET 2005 Пиратская версия
Вопросов: 38
Ответов: 190
Web-сайт:
Профиль | | #2
Добавлено: 01.02.07 14:48
www.vbmania.ru
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 01.02.07 14:56
Полазий по этому форуму и ты найдешь 1000 и 1 способ рисования на форме... А если не найдешь, то обратись за помощью к -АлександР- Он всего себя посвятил изучению GDI+ в NET
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 01.02.07 15:03
Номер ответа: 5
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #5
Добавлено: 01.02.07 15:38
Brand
Номер ответа: 6
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #6
Добавлено: 01.02.07 15:39
Номер ответа: 7
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #7
Добавлено: 01.02.07 15:47
ну вот один из способов...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Refresh()
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
e.Graphics.DrawString("WORK!", New Font("tahoma", 13), Brushes.Blue, 100, 100)
End Sub
End Class
Номер ответа: 8
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #8
Добавлено: 01.02.07 15:48
Да ты что???? надо же,блин... вот бы никогда не подумал!!. Сам догадался или подсказал кто? ))
Номер ответа: 9
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #9
Добавлено: 01.02.07 18:13
просто в первом ответе ты так категорично...
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 01.02.07 19:14
Так категорично, потому что это на самом деле чушь! И предложенный тобой способ хоть и рабочий, но не корректный! Он нарушает порядок инициализации формы, и так делать не следует. Я не думаю, что когда либо возникнет ситуация, когда применение этого способа будет оправдано...
Номер ответа: 11
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #11
Добавлено: 01.02.07 19:16
И если убрать из Load Refresh, то твой вариант все равно будет работать, тогда возникает вопрос.. Нафига он вообще нужен в Load?
Номер ответа: 12
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #12
Добавлено: 01.02.07 19:27
Я этого не писал
Номер ответа: 13
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #13
Добавлено: 01.02.07 19:53
Номер ответа: 14
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #14
Добавлено: 01.02.07 20:02
сочуствую
Номер ответа: 15
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #15
Добавлено: 01.02.07 20:13
А что!? У нас на форуме только два дотнетчика, по реалии если взять... почему бы их не путать...