I have some problems about savefiledialog c#, I have an unhandled exception of type System.NullReferenceException when I debug, this's code:
private void saveToolStripMenuItem_Click(object sender, System.EventArgs e)
        {
            switch (fileName)
            {
                case "":
                    {
                        saveFileDialog1 = new SaveFileDialog
                        {
                            Filter = @"Image files (*.bmp)|*.bmp|All files (*.*)|*.*",
                            FileName = "MyPicture.bmp"
                        };
                        if (saveFileDialog1.ShowDialog() != DialogResult.OK) return;
                        fileName = saveFileDialog1.FileName;
                        bitmap.Save(saveFileDialog1.FileName, ImageFormat.Bmp);
                    }
                    break;
                default:
                    {
                        bitmap.Save(fileName, ImageFormat.Bmp);
                    }
                    break;
            }
        }
here is my declare:
    private string fileName = "";
    private Bitmap bitmap;
    private Bitmap curBitmap;
here is my full code:
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    //Bitmap
    //Graphics
    Graphics g;
    Pen p = new Pen(Color.Black, 8);
    Point start = new Point(0, 0);
    Point end = new Point(0, 0);
    bool drawing = false;
    //private int x1;
    //private int x2;
    //private int y1;
    //private int y2;
    //private int d1;
    //private int d2;
    private string fileName = "";
    private Bitmap bitmap;
    private Bitmap curBitmap;
    private Size fullSize;
    private void btnColorPicker_Click(object sender, EventArgs e)
    {
        //Get colors from colordialog
        DialogResult r = colorDialog1.ShowDialog();
        if (r == DialogResult.OK)
        {
            p.Color = colorDialog1.Color;
        }
    }
    private void PanelDrawing_MouseUp(object sender, MouseEventArgs e)
    {
        drawing = false;
    }
    private void PanelDrawing_MouseMove(object sender, MouseEventArgs e)
    {
        if (drawing && !earaser)
        {
            p.Width = PenSize.Value;
            p.Color = colorDialog1.Color;
            end = e.Location;
            g = PanelDrawing.CreateGraphics();
            g.DrawLine(p, start, end);
            PanelDrawing.Cursor = Cursors.HSplit;
        }
        else if (drawing && earaser)
        {
            end = e.Location;
            g = PanelDrawing.CreateGraphics();
            g.DrawLine(p, start, end);
            PanelDrawing.Cursor = Cursors.Cross;
        }
        else if (!drawing)
        {
            PanelDrawing.Cursor = Cursors.Default;
        }
        start = end;
    }
    private void PanelDrawing_MouseDown(object sender, MouseEventArgs e)
    {
        start = e.Location;
        if (e.Button == MouseButtons.Left)
        {
            drawing = true;
        }
    }
    private void PenSize_Scroll(object sender, EventArgs e)
    {
        p.Width = PenSize.Value;
        label1.Text = "" + PenSize.Value;
    }
    bool earaser = false;
    private void btnEaraser_Click(object sender, EventArgs e)
    {
        p.Color = Color.White;
        p.Width = 10;
        earaser = true;
    }
    private void btnBrush_Click(object sender, EventArgs e)
    {
        earaser = false;
    }
    private void btnClear_Click(object sender, EventArgs e)
    {
        g.Clear(PanelDrawing.BackColor);
    }
    private void saveToolStripMenuItem_Click(object sender, System.EventArgs e)
    {
        if (string.IsNullOrWhiteSpace(fileName))
        {
            saveFileDialog1 = new SaveFileDialog
            {
                Filter = @"Image files (*.bmp)|*.bmp|All files (*.*)|*.*",
                FileName = "MyPicture.bmp"
            };
            if (saveFileDialog1.ShowDialog() != DialogResult.OK)
                return;
            fileName = saveFileDialog1.FileName;
            bitmap.Save(saveFileDialog1.FileName, ImageFormat.Bmp);
        }
        else
        {
            bitmap.Save(fileName, ImageFormat.Bmp);
        }
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        fullSize = SystemInformation.PrimaryMonitorMaximizedWindowSize;
        bitmap = new Bitmap(fullSize.Width, fullSize.Height);
        g = Graphics.FromImage(bitmap);
        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.Clear(BackColor);
    }
}
 
     
     
     
     
    