blog

I like to blog about current software design and development projects, as well as general everyday news and events. I'm passionate about what I do and you can follow my personal journey through my blog. I'm constantly on the lookout for new development techniques and technologies to keep on top of the changing market, so if I do miss anything feel free to leave me a comment.

Posts Tagged ‘.Net’

CrossCollaborate

Wednesday, February 3rd, 2010

CrossCollaborate is a software solution that I developed in 2009 as a major project which was part of my Thesis, collectively known as CAPSTONE at the University of Technology, Sydney. CrossCollaborate is a network based diagramming tool which allows users to interact in real-time and work on one or multiple diagrams simultaneously. It is an easy to use application which supports single user mode that can be run without the server. The purpose of the application is to allow users to interact in real-time regardless of their physical location and share information.

Some features which have been implemented include cut/copy/paste, undo/redo, drag/drop, freely move and re-size objects on the surface, zoom-in/zoom-out and print/print preview. See the poster for more information.

The solution is entirely written in C# using an Object-Oriented approach. It is Event-Driven and is based on the Model-View-Controller and Client-Server architecture.

Removing white border on a ToolStrip

Sunday, March 8th, 2009

If you have ever used the ToolStrip control and changed its background colour, you will have noticed that it has a white border around it as show in the picture. This problem can be overcome with a simple override.

Create a new file ToolStripOverride.cs and copy the following code.

1
2
3
4
5
6
7
8
9
10
11
using System.Windows.Forms;
 
namespace OverrideControls
{
    public class ToolStripOverride : ToolStripProfessionalRenderer
    {
        public ToolStripOverride() { }
 
        protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { }
    }
}

Then inside the class where you have your ToolStrip control add the following line to the constructor.

1
myToolStripControl.Renderer = new ToolStripOverride();

C#: PayPal Donate Button

Sunday, December 14th, 2008

If you have a PayPal account and would like to add a donate button to your application you can use the following code.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void btnDonate_Click(object sender, System.EventArgs e)
{
    string url = "";
 
    string business     = "my@paypalemail.com";  // your paypal email
    string description  = "Donation";            // '%20' represents a space. remember HTML!
    string country      = "AU";                  // AU, US, etc.
    string currency     = "AUD";                 // AUD, USD, etc.
 
    url += "https://www.paypal.com/cgi-bin/webscr" +
        "?cmd=" + "_donations" +
        "&business=" + business +
        "&lc=" + country +
        "&item_name=" + description +
        "&currency_code=" + currency +
        "&bn=" + "PP%2dDonationsBF";
 
    System.Diagnostics.Process.Start(url);
}

Windows Forms with Rounded Corners

Monday, December 8th, 2008

Have you ever found yourself developing a custom user interface and needed rounded corners which work on different Windows Operating Systems?

If you are using Windows Vista this is easily achieved by using a rounded PNG image with transparent corners and setting the transparency property. This however does not work on systems such as Windows XP.

The following C# code can be used to ensure you have rounded corners on a number of Windows Operating Systems.

1
2
3
4
5
6
7
8
9
10
11
12
13
[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
private static extern IntPtr CreateRoundRectRgn
(
    int nLeftRect,      // x-coordinate of upper-left corner
    int nTopRect,       // y-coordinate of upper-left corner
    int nRightRect,     // x-coordinate of lower-right corner
    int nBottomRect,    // y-coordinate of lower-right corner
    int nWidthEllipse,  // height of ellipse
    int nHeightEllipse  // width of ellipse
);
 
// Set your own values
Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(1, 1, 10, 10 16, 16));