RSS Forums RSS

Re: Custom Control Button with different regions

Please support our C# advertiser: DiscountASP.NET – 3 Months Free on C# Web Hosting

Custom Control Button with different regions

Posts: 204
Reputation: plazmo is an unknown quantity at this point 
Solved Threads: 16
plazmo's Avatar
plazmo plazmo is offline Offline
Posting Whiz in Training

Re: Custom Control Button with different regions

  #2  
Mar 7th, 2006
I suggest you create a control with 4 seperate buttons for each function, but then draw them together so it looks like one button.

below is code that makes a button look like a circle. this should be the onPaint function for the button. it shouldnt be to difficult to edit this to work for you


		// This method will change the square button to a circular button by 
		// creating a new circle-shaped GraphicsPath object and setting it 
		// to the RoundButton objects region.
		private void roundButton_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
		{

			System.Windows.Forms.Button tButton = (System.Windows.Forms.Button)sender;
			

			System.Drawing.Drawing2D.GraphicsPath buttonPath = 
				new System.Drawing.Drawing2D.GraphicsPath();

			
			// Set a new rectangle to the same size as the button's 
			// ClientRectangle property.
			System.Drawing.Rectangle newRectangle = tButton.ClientRectangle;
			
			// Decrease the size of the rectangle.
			newRectangle.Inflate(-10, -10);
        
			// Draw the button's border.
			e.Graphics.DrawEllipse(System.Drawing.Pens.Black, newRectangle);

			// Increase the size of the rectangle to include the border.
			newRectangle.Inflate( 1,  1);


			// Create a circle within the new rectangle.
			buttonPath.AddEllipse(newRectangle);
                
			// Set the button's Region property to the newly created 
			// circle region.
			tButton.Region = new System.Drawing.Region(buttonPath);

		}
Reply With Quote  
Forums | Blogs | Tutorials | Code Snippets | Whitepapers | RSS Feeds | Advertising
All times are GMT -4. The time now is 1:03 pm.
Newsletter Archive - Sitemap - Privacy Statement - Acceptable Use Policy - Contact Us
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC