Inherited Control - .NET
5 отговора
162 прегледа
Inherited Control - .NET
Имам въпрос. И той е следния :)
Интересува ме мога ли след като съм наследил контрол, да си създам мой Graphics object, и да рисувам с него или трябва да използвам Graphics-a на базовия контрол, защото искам да рисувам със свой метод а не с On_Paint Event Handler-a.
Проблема ми възникна заради това че наследявам PictureBox контрол обаче за Compact Framework, а там този контрол няма On_Paint event. И тъй като аз мога да използвам Graphics object-a на PictureBox-a само през PaintEventArgs немога да го използвам.
И ако мога да използвам мой Graphics ще мога ли да рисувам с него въпреки че базовия контрол си има.
Мерси от сега :)
Интересува ме мога ли след като съм наследил контрол, да си създам мой Graphics object, и да рисувам с него или трябва да използвам Graphics-a на базовия контрол, защото искам да рисувам със свой метод а не с On_Paint Event Handler-a.
Проблема ми възникна заради това че наследявам PictureBox контрол обаче за Compact Framework, а там този контрол няма On_Paint event. И тъй като аз мога да използвам Graphics object-a на PictureBox-a само през PaintEventArgs немога да го използвам.
И ако мога да използвам мой Graphics ще мога ли да рисувам с него въпреки че базовия контрол си има.
Мерси от сега :)
Re: Inherited Control - .NET
:)
Toва ми е ясно, но след като си създам мой Graphics, не ще да рисува с него.
Примерно:
Graphics myGraph = this.CreateGraphics();
myGraph.DrawImage(bmp,0,0);
обаче не става. Също пробвах и
Graphics myGraph = Graphics.FromImage((Image)bmp);
myGraph.DrawImage(bmp,0,0);
пак не става.
седи си бял екран.
Не мога да разбера къде е проблема, тоест въпроса ми беше ако PictureBox-a си има графикс обект аз трябва задължително да използвам него или мога по някакъв начин да рисувам с мой. И какъв е начина.
Toва ми е ясно, но след като си създам мой Graphics, не ще да рисува с него.
Примерно:
Graphics myGraph = this.CreateGraphics();
myGraph.DrawImage(bmp,0,0);
обаче не става. Също пробвах и
Graphics myGraph = Graphics.FromImage((Image)bmp);
myGraph.DrawImage(bmp,0,0);
пак не става.
седи си бял екран.
Не мога да разбера къде е проблема, тоест въпроса ми беше ако PictureBox-a си има графикс обект аз трябва задължително да използвам него или мога по някакъв начин да рисувам с мой. И какъв е начина.
Re: Inherited Control - .NET
xa
"nqma ne shte" vsichko shte
praish taka
public class MyPictureBox : PictureBox {
public MyPictureBox() { .....dyra byra 100 chadyra
}
posle kydet iskash neide drugate kydeto imash instanciq na tva chudo
Graphics graphics = myPictureBox.CreateGraphics();
graphics.DrawRectangle(Pens.Blue,alabala...
i bachka
syotvetno posle trqqq malko da se grijish i za Invalidate() - a :)
"nqma ne shte" vsichko shte
praish taka
public class MyPictureBox : PictureBox {
public MyPictureBox() { .....dyra byra 100 chadyra
}
posle kydet iskash neide drugate kydeto imash instanciq na tva chudo
Graphics graphics = myPictureBox.CreateGraphics();
graphics.DrawRectangle(Pens.Blue,alabala...
i bachka
syotvetno posle trqqq malko da se grijish i za Invalidate() - a :)
Re: Inherited Control - .NET
Открих проблема и той въобще не е бил там :)
Просто не съм дал Parent да ми е формата.
Ама тва Visual Studio понякога действа много объркващо.
Например никъде в инициализацията на другите контроли не се инициализира Parent пропертито с формата.А тъй като аз използвам клас който ми наследява контрол, то трябва сам да се сетя да си инит-на пропертито с формата.
Може ли някой да ми каже защо другите контроли без да им е инит. Parent пропертито си се Draw-ват.
Просто не съм дал Parent да ми е формата.
Ама тва Visual Studio понякога действа много объркващо.
Например никъде в инициализацията на другите контроли не се инициализира Parent пропертито с формата.А тъй като аз използвам клас който ми наследява контрол, то трябва сам да се сетя да си инит-на пропертито с формата.
Може ли някой да ми каже защо другите контроли без да им е инит. Parent пропертито си се Draw-ват.
Re: Inherited Control - .NET
ne e taka be choveche :) - oshte sys this.Controls.Add(this.pictureBox1) vyv InitializeComponent-a na this.pictureBox1.Parent si e bash formata
ehhhhh

ehhhhh