With this tutorial , i can remake all controls! Just the property "BackgroundColor" and "TextColor" is the same property than "BackColor" and "ForeColor"
Very well done, well eplained and providing the code is awesome. One question tho, in the beginning of the video you have buttons with an image as well, could you maybe make a video where you show how that can be done?
Hi, thanks for the tutorial I have several problems though Like, corners being pixelish, or bottom right corner being less "round" than others. Also I noticed that border line tends to not fully cover borders of the button, which results in some ugly one-pixel-thick lines outside the borderline Why that could possibly happen and what can I do to fix that?
Great work. I want to add that, you would want to use Region property in OnHandleCreated() event instead of OnPaint(). Region in OnPaint() will trigger tons of events and use very large amount of system resources. I have a simple panle and only a single rounded button and it cost my pc nearly 30% CPU usage. I move the region codes to OnHandleCreated(), and it solve the problem :)
Thomas, you've saved my day🙂. I've had the similar problem, thank you very much for this solution😊. Could you give me a hint how exactly did you change your code? I read that you moved Region codes to OnHandleCreated but what does your OnPaint method look like now? Thanks in advance for your reply😄
@@it-traveler Since the region is also associated with the control's size, so I ended up assigning the control's Resize event to a new function. So the code might look like this. Assign the resizing event in the OnHandleCreated event: protected override void OnHandleCreated(EventArgs e) { base.OnHandleCreated(e); this.Parent.BackColorChanged += new EventHandler(Container_BackColorChanged); this.Resize += Region_Update; } And the new function is: private void Region_Update(object? sender, EventArgs e) { //Assign new region here RectangleF Rect_OutterSurface = new RectangleF(0, 0, this.Width, this.Height); if (Border_Radius > 2) { using (GraphicsPath Path_OutterSurface = GetFigurePath(Rect_OutterSurface, Border_Radius)) { this.Region = new Region(Path_OutterSurface); } } else { this.Region = new Region(Rect_OutterSurface); } }
@@thomasjoshua3499 thanks a lot😃 BTW, is there a way to avoid rectangular-oval effect when placing a button in Form Designer? It fixes with immediate Region_Update call but maybe something else?
@@it-traveler Glad to hear my answer is working, but unfortunately about the rectangular-oval effect, I haven't encountered it yet and don't have a clue how to solve it.
Extremely beautifuil! but i have one issue i can't seem to solve! If there is an image as the background of the form, the border looks really bad. How can i fix this? :(
Thanks for your videos, i notice when i radius the button and put it on the panel the corner of the button become not smooth this happen when i put the button on panel
Awesome. But I have problem, when I made the button size around (250, 50) and set the image align to middle left, the result was unsatisfying for me. So I added new picture box, set the size mode to "auto size", set the location and finally override OnSizeChanged to change the picturebox location every time button's size changed, but it didn't work, and the picture box just disappeared when the size changed. Do any of you have solution. This is the code PictureBox picture = new PictureBox(); picture.sizemode = PictureBoxSizeMode.AutoSize; picture.Location = new Point (this.Location.X + 25, this.Location.Y + this.Height/2 - picture.Height/2); this.Controls.Add(picture); //And the override protected override void OnSizeChanged(EventArgs e) { base.OnSizeChanged(e); picture.Location = new Point (this.Location.X + 25, this.Location.Y + this.Height/2 - picture.Height/2); } Thanks for listening this long and boring question :)
Very good. A lot Is there any ListView type control that I can populate with a product table, with each ListView item having 2 lines, one with the product code and description and the second with the quantity sold and the price?
I'm having trouble making circular buttons. If I set them to be circles in the designer, they revert to being squares with rounded edges when I run the app. The only way I can get them to stay as circles is to make them bigger than necessary in the designer and then reducing the size using code on load. Anyone have a solution?
Hi, Removes the following condition from the border radius property. if (borderRadius > this.Height) borderRadius = this.Height; In the code published on the website this is corrected.
Thanks for your videos man, they go straight to the point and plus that you have the code in the page, i love you bro, please keep uploading videos
Just found this little hidden gem. Thanks RJ
Excellent tutorial, gained another follower.
you the man , you are real life iron man
Hands down best implementation of a rounded button
Great tutorial!
It is really great as a base to build upon.
I love to tinker around with custom controls, even tho I do have a bunifu license.
Thank you ma man. keep up the good work
OH GOD! Thank you so much sir you helped a newbie C# student :D
Thank you for this video, you are so good
How interesting!, I can Implemented it without any error, Thanks RJ Code
Great Tutorials! Your videos helps me a lot! Thanks
Awesome work, this helped a lot. Thanks for the great content
Really good content. Amazing useful! Keep going! Good luck, and more subs)
Awesome tutorial with good explanations!
Muito Obrigado! O melhor tutorial que já vi nesse youtube.
Great work !!
SuperB! Thanks a lot for such! That was missing brick for me!
Thank you! Thank you!Thank you!Thank you! Thank you!
Finally I got as i want ,, really thanks a lot🥺
Thanks for the great video.
It doesnt show on my toolbox, even after built and rebuilt project. Any tips?
did u get it working?
@@shawnthomas3918 yes, I dont remember exactly what I did, I think that I closed e reopen the Visual Studio
Ahh ok, I had forgotten to import the systems component model as described in the previous video
ОТЛИЧНО! Спасибо за видео и идею
May I ask, What topic of c# programming should I learn to understand and be able to make these codes by myself? thank you in forward.
bro do u found it ?
amazing, thank you so much, great efforts
in the End Video You did not use Icon In Button ,Does the video have a second part?
Just amazing
Thanks for The Buttons they are coool hoping that you will make a video about a custom webveiw
Amazing, thank very much
With this tutorial , i can remake all controls! Just the property "BackgroundColor" and "TextColor" is the same property than "BackColor" and "ForeColor"
Thanks So Much . You are the best.
good video, a question do you have a social network or something? is to ask you a question
Muchísimas gracias, me fué de mucha ayuda.
But you did not show in the video how to add icon or image something center of a buttton.
Thx. Pls if possible, next time do it in dark theme of VS. For convinient sake.
In your Tutorial you didn't show , how create Custom Button with image but your Video shows pictures at start.
Thank you so much for this video....it helps me a lot.......🙏
Very well done, well eplained and providing the code is awesome. One question tho, in the beginning of the video you have buttons with an image as well, could you maybe make a video where you show how that can be done?
is there a way to make regular buttons smother without making a new class that extends Button? The way my probram works requires me to use them.
Great video !!! Thanks for sharing !!! Can you please include in one of your next video gradient color for a control ?
Hi, thanks for the tutorial
I have several problems though
Like, corners being pixelish, or bottom right corner being less "round" than others. Also I noticed that border line tends to not fully cover borders of the button, which results in some ugly one-pixel-thick lines outside the borderline
Why that could possibly happen and what can I do to fix that?
Try setting the back color to transparent rather than giving it an actual color, and only set fore color and border color to an actual color
This is really helpful. The output is awesome. Kindly help us in creating rounded form as well.. Thank You :)
Thanks🙏 ❤
how to learn front end styling manually for window form in visual studio.please tell me.
Great work. I want to add that, you would want to use Region property in OnHandleCreated() event instead of OnPaint(). Region in OnPaint() will trigger tons of events and use very large amount of system resources. I have a simple panle and only a single rounded button and it cost my pc nearly 30% CPU usage.
I move the region codes to OnHandleCreated(), and it solve the problem :)
Thomas, you've saved my day🙂. I've had the similar problem, thank you very much for this solution😊. Could you give me a hint how exactly did you change your code? I read that you moved Region codes to OnHandleCreated but what does your OnPaint method look like now? Thanks in advance for your reply😄
@@it-traveler Since the region is also associated with the control's size, so I ended up assigning the control's Resize event to a new function. So the code might look like this.
Assign the resizing event in the OnHandleCreated event:
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
this.Parent.BackColorChanged += new EventHandler(Container_BackColorChanged);
this.Resize += Region_Update;
}
And the new function is:
private void Region_Update(object? sender, EventArgs e)
{
//Assign new region here
RectangleF Rect_OutterSurface = new RectangleF(0, 0, this.Width, this.Height);
if (Border_Radius > 2)
{
using (GraphicsPath Path_OutterSurface = GetFigurePath(Rect_OutterSurface, Border_Radius))
{
this.Region = new Region(Path_OutterSurface);
}
}
else
{
this.Region = new Region(Rect_OutterSurface);
}
}
@@thomasjoshua3499 thanks a lot😃 BTW, is there a way to avoid rectangular-oval effect when placing a button in Form Designer? It fixes with immediate Region_Update call but maybe something else?
@@it-traveler Glad to hear my answer is working, but unfortunately about the rectangular-oval effect, I haven't encountered it yet and don't have a clue how to solve it.
Can i have 3 buttons in the same gridview cell? Like the same column and row had 3 buttons instead of one
Parabéns pelo vídeo. Ganhou um inscrito.
Why not:
path.StartFigure();
path.AddArc(rect.X,rect.Y,radius,radius, 180, 90);
path.AddArc(rect.Width-radius, rect.Y, radius, radius, 270, 90);
path.AddArc(rect.Width-radius, rect.Y, radius, radius, 0, 90);
path.AddArc(rect.X, rect.Y, radius, radius, 90, 90);
path.CloseFigure();
Why using "rect.Height - radius" instead "rect.Y"? (It gives the same result and it's more understable way!)
Thank you for your tutorial! :D
Extremely beautifuil! but i have one issue i can't seem to solve! If there is an image as the background of the form, the border looks really bad. How can i fix this? :(
Thanks for your videos, i notice when i radius the button and put it on the panel the corner of the button become not smooth this happen when i
put the button on panel
Hello I knocked like your codes, but my button is not applied at runtime, Only the primary borderRadius is applied What is the problem?
May I use this to use for commercial?
Please tell me how to add icons to left and right and image ?
Thanks, how about for panel type with similar code.
There is slight change in it (inheriting from panel). Can you please give suggestion
Awesome. But I have problem, when I made the button size around (250, 50) and set the image align to middle left, the result was unsatisfying for me. So I added new picture box, set the size mode to "auto size", set the location and finally override OnSizeChanged to change the picturebox location every time button's size changed, but it didn't work, and the picture box just disappeared when the size changed. Do any of you have solution. This is the code
PictureBox picture = new PictureBox();
picture.sizemode = PictureBoxSizeMode.AutoSize;
picture.Location = new Point (this.Location.X + 25, this.Location.Y + this.Height/2 - picture.Height/2);
this.Controls.Add(picture);
//And the override
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
picture.Location = new Point (this.Location.X + 25, this.Location.Y + this.Height/2 - picture.Height/2);
}
Thanks for listening this long and boring question :)
now how do make the button a flashing color?
How to make a button that can change the color of the selected icon in visual basic? can you show this?
how do you add thosE icons inside your buttons ?
Awesome tutorial!
But howcan I add picture/iocn like in the beginning of the video?
Thanks a lot
It works and it is astounishing ! Love your work !
EDIT: when you make the button transparent the lower side is not a straight line. :(
Very good. A lot Is there any ListView type control that I can populate with a product table, with each ListView item having 2 lines, one with the product code and description and the second with the quantity sold and the price?
Coool Спасибо, у вас очень полезные видео. Привет, из Украины)
Thank you very muchhhh
great tutorial. but can we add this button to wpf?
hello! Great tutorial sir i want to use icon color change property in this button can you please tell me which line of code i should write
Hello Can anyone tell why the category in mine does not show up??
Amazing❤
how to add gradient in category
very nice
When i use it, the onpaint event fires continuously. what could be causing it?
in the other hand, the antialias isnt working for me too.
Sometimes the project will hang, clean the project, close visual studio, and reopen it.
Well this is nice, but my app is extremely lagging when i moving my form around. Pretty sure it is OnPaint that cause the lag, any way to prevent it?
Thanks you are great , can you make Advanced Track Bar
I'm having trouble making circular buttons. If I set them to be circles in the designer, they revert to being squares with rounded edges when I run the app. The only way I can get them to stay as circles is to make them bigger than necessary in the designer and then reducing the size using code on load. Anyone have a solution?
Hi,
Removes the following condition from the border radius property.
if (borderRadius > this.Height)
borderRadius = this.Height;
In the code published on the website this is corrected.
hi, it's possible to change font with imported font ?
more and more please
Thanks Pro
01:59
I don't like this man, I'm in love with this man :D
Okay Great
is it relevant for .net too?
Pleasssss c# round trackbar make
Pleas radial progress bar
button in textbox ?
anyone have the code it text form ?
Abi yazdığın kod çalışmıyor tekrar yaz bence ben bu işlerde baya iyiyim ama hataların var düzelt istersen
Custom calendar pls
شكرا لك
8:56
This custom buttons is not good for different resolutions!!! Whyyy, it scales really bad.
why would microsoft make this so complicated forcing us to make images with onclick listeners XD
Source code please
You should make your own library like guna and make free
Yes, I've been thinking that. So I will try to do it soon and make it open source. But maybe Bunify or Guna will go bankrupt 😅
OMG WHY THE ERIC VOICE!?!
this doesn't work
dosent work
İşine karışıyor gibi olmasın ama yanlışların var
İcon color
Popcom 🎉❤🎉 silençe you 😊❤😊😊😊😂😂😂🎉