User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the C# section within the Software Development category of DaniWeb, a massive community of 402,622 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,219 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our C# advertiser: Programming Forums
Views: 5649 | Replies: 1
Reply
Join Date: Feb 2006
Posts: 9
Reputation: mickeyfitzray is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
mickeyfitzray mickeyfitzray is offline Offline
Newbie Poster

Custom Control Button with different regions

  #1  
Mar 6th, 2006
Hi,

Im trying to create a button that will perform different functions depending on what part of the button you click. The button will be a diamond shape with six different regions on it that will perform different actions (play, pause, volume up/down etc). Does anyone know any good sites where I can get help with this as Im not sure where to start.

Thanks.
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Aug 2005
Location: Ohio
Posts: 204
Reputation: plazmo is an unknown quantity at this point 
Rep Power: 4
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  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

DaniWeb C# Marketplace
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes

Similar Threads
Other Threads in the C# Forum

All times are GMT -4. The time now is 1:18 am.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC