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?
With this tutorial , i can remake all controls! Just the property "BackgroundColor" and "TextColor" is the same property than "BackColor" and "ForeColor"
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.
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?
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? :(
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?
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 :)
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
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.
Just found this little hidden gem. Thanks RJ
Hands down best implementation of a rounded button
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
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.
How interesting!, I can Implemented it without any error, Thanks RJ Code
you the man , you are real life iron man
Excellent tutorial, gained another follower.
OH GOD! Thank you so much sir you helped a newbie C# student :D
SuperB! Thanks a lot for such! That was missing brick for me!
Thank you ma man. keep up the good work
Finally I got as i want ,, really thanks a lot🥺
Thank you for this video, you are so good
Muito Obrigado! O melhor tutorial que já vi nesse youtube.
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?
Great Tutorials! Your videos helps me a lot! Thanks
With this tutorial , i can remake all controls! Just the property "BackgroundColor" and "TextColor" is the same property than "BackColor" and "ForeColor"
This is really helpful. The output is awesome. Kindly help us in creating rounded form as well.. Thank You :)
Awesome tutorial with good explanations!
Awesome work, this helped a lot. Thanks for the great content
ОТЛИЧНО! Спасибо за видео и идею
Great video !!! Thanks for sharing !!! Can you please include in one of your next video gradient color for a control ?
Thanks for The Buttons they are coool hoping that you will make a video about a custom webveiw
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 ?
Great work !!
Thanks for the great video.
Amazing, thank very much
amazing, thank you so much, great efforts
Muchísimas gracias, me fué de mucha ayuda.
Thanks So Much . You are the best.
Really good content. Amazing useful! Keep going! Good luck, and more subs)
It works and it is astounishing ! Love your work !
EDIT: when you make the button transparent the lower side is not a straight line. :(
Thank you so much for this video....it helps me a lot.......🙏
Thx. Pls if possible, next time do it in dark theme of VS. For convinient sake.
Just amazing
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
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.
Thanks🙏 ❤
in the End Video You did not use Icon In Button ,Does the video have a second part?
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
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? :(
Awesome tutorial!
But howcan I add picture/iocn like in the beginning of the video?
good video, a question do you have a social network or something? is to ask you a question
Thank you very muchhhh
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
Thanks, how about for panel type with similar code.
There is slight change in it (inheriting from panel). Can you please give suggestion
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
great tutorial. but can we add this button to wpf?
Parabéns pelo vídeo. Ganhou um inscrito.
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.
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?
May I use this to use for commercial?
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 :)
Thanks a lot
Coool Спасибо, у вас очень полезные видео. Привет, из Украины)
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
Can i have 3 buttons in the same gridview cell? Like the same column and row had 3 buttons instead of one
In your Tutorial you didn't show , how create Custom Button with image but your Video shows pictures at start.
Thanks very useful your videos, really thanks.
Could you make a video for creating a 3D button?
Amazing❤
Hello I knocked like your codes, but my button is not applied at runtime, Only the primary borderRadius is applied What is the problem?
Thanks you are great , can you make Advanced Track Bar
But you did not show in the video how to add icon or image something center of a buttton.
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?
more and more please
how to learn front end styling manually for window form in visual studio.please tell me.
How to make a button that can change the color of the selected icon in visual basic? can you show this?
Thanks Pro
I don't like this man, I'm in love with this man :D
now how do make the button a flashing color?
Please tell me how to add icons to left and right and image ?
Okay Great
Abi yazdığın kod çalışmıyor tekrar yaz bence ben bu işlerde baya iyiyim ama hataların var düzelt istersen
hi, it's possible to change font with imported font ?
how do you add thosE icons inside your buttons ?
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.
شكرا لك
Hello Can anyone tell why the category in mine does not show up??
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.
Custom calendar pls
is it relevant for .net too?
how to add gradient in category
This custom buttons is not good for different resolutions!!! Whyyy, it scales really bad.
OMG WHY THE ERIC VOICE!?!
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 😅
button in textbox ?
Pleas radial progress bar
Pleasssss c# round trackbar make
why would microsoft make this so complicated forcing us to make images with onclick listeners XD
anyone have the code it text form ?
Source code please
01:59
this doesn't work
İşine karışıyor gibi olmasın ama yanlışların var
8:56
dosent work
Popcom 🎉❤🎉 silençe you 😊❤😊😊😊😂😂😂🎉
İcon color