String zipper = @"c:\program files\7-zip\7z.exe";
String args = "a -tzip " + compressPath + " " + compressFolder;
Process proc = Process.Start(zipper, args);
proc.WaitForExit();
where compressPath is something like "C:\foo.zip" and compressFolder is something like "C:\foo".
Update: 9th March 2009
It's probably a good idea to make sure both compressPath and compressFolder are surrounded by quotes in case they contain spaces!