Get backup of sql database in .net application

private void BackupDb()
{
dbName = ((Database)cmbBackupDb.SelectedItem).Name;
Backup dbBackup = new Backup();

try
{
dbBackup.Action = BackupActionType.Database;
dbBackup.Database = dbName;
dbBackup.BackupSetName = string.Format("{0} backup set.", dbName);
dbBackup.BackupSetDescription = string.Format("Database: {0}. Date: {1}.", dbName, DateTime.Now.ToString("dd.MM.yyyy hh:m"));
dbBackup.MediaDescription = "Disk";

BackupDeviceItem device = new BackupDeviceItem(saveBakFile.FileName, DeviceType.File);
dbBackup.Devices.Add(device);

txtBackupSql.Text = dbBackup.Script(sqlServer);

progBar.Visible = true;
progBar.Value = 0;

dbBackup.Complete += new ServerMessageEventHandler(dbBackup_Complete);
dbBackup.PercentCompleteNotification = 10;
dbBackup.PercentComplete += new PercentCompleteEventHandler(PercentComplete);

dbBackup.SqlBackup(sqlServer);
}
catch (Exception exc)
{
dbBackup.Abort();
MessageBox.Show(string.Format("Exception occured.\nMessage: {0}", exc.Message));
}
finally
{
sqlConn.Close();
}

progBar.Visible = false;
}

void dbBackup_Complete(object sender, ServerMessageEventArgs e)
{
MessageBox.Show("Backup complete");
}