I'm having a problem solving part of a C# question from a beginning course. If anyone can help, I would appreciate it. The problem and code follows:

When the user clicks the Quit button, display a message box that says "I'm going home." Then when the user clicks OK on the message box, have it display the same message box as the "OK" or "Do It" button on your main form. This part of the problem will not use delegates directly, it will exercise two ways to cause one event handler to handle two (or more) events.

<Window x:Class="AdvancedProj2Version2.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Button Form" Height="300" Width="400">
    <Grid>
        <Button HorizontalAlignment="Left" Margin="38,108,0,131" Name="btnOK" Width="75" Click="btnOK_Click">OK</Button>
        <Button Margin="150,108,0,131" Name="btnDoIt" HorizontalAlignment="Left" Width="76" Click="btnOK_Click">Do It</Button>
        <Button HorizontalAlignment="Right" Margin="0,108,42,131" Name="btnQuit" Width="75" Click="btnQuit_Click_1">Quit</Button>
    </Grid>
</Window>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace AdvancedProj2Version2
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Good Bye");
        }

        private void btnQuit_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("I'm going home");
            
        }
    }
}

If need more information don't hesitate to contact me.

Best Regards,

Rod

it will exercise two ways to cause one event handler to handle two (or more) events.

You need to know which button is pressed? Check the sender object's name property. Here's a WinForms example of (button click) event handler that checks which button is pressed

private void buttonClick(object sender, EventArgs e)
{
    if (((Button)sender).Name == "button1")
    {
        MessageBox.Show("button1 Pressed");
    }
    if (((Button)sender).Name == "button2")
    {
        MessageBox.Show("button2 Pressed");
    }
}

Your code will be similar but the button names are "btnOK" and "btnDoIt".

HTH

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.