Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have the following code. I am getting an error that states \"unexpected prepro

ID: 3680423 • Letter: I

Question

I have the following code. I am getting an error that states "unexpected preprocessor directive". The issue seems to be regarding #endregion

Please advise.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Reminder

{

public class FrmReminder : System.Windows.Forms.Form

{

private System.Windows.Forms.Label lblTime;

private DateTimePicker dtpTime;

private System.Windows.Forms.Label lblReminder;

private System.Windows.Forms.TextBox txtReminder;

private System.Windows.Forms.Button btnSetTime;

private System.Windows.Forms.Button btnReset;

private System.Windows.Forms.Timer tmrReminder;

private System.ComponentModel.IContainer components;

public FrmReminder()

{

InitializeComponent();

}

protected override void Dispose(bool disposing)

{

if(disposing)

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose(disposing);

}

private void InitializeComponent()

{

this.components = new System.ComponentModel.Container();

this.lblTime = new System.Windows.Forms.Label();

this.btnSetTime = new System.Windows.Forms.Button();

this.btnReset = new System.Windows.Forms.Button();

this.tmrReminder = new System.Windows.Forms.Timer(this.components);

this.lblReminder = new System.Windows.Forms.Label();

this.txtReminder = new System.Windows.Forms.TextBox();

this.dtpTime = new System.Windows.Forms.DateTimePicker();

this.SuspendLayout();

this.lblTime.Location = new System.Drawing.Point(10, 16);

this.lblTime.Name = "lblTime";

this.lblTime.Size = new System.Drawing.Size(48, 16);

this.lblTime.TabIndex = 15;

this.lblTime.Text = "Time:";

this.lblTime.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

this.btnSetTime.Location = new System.Drawing.Point(176, 16);

this.btnSetTime.Name = "btnSetTime";

this.btnSetTime.Size = new System.Drawing.Size(48, 23);

this.btnSetTime.TabIndex = 16;

this.btnSetTime.Text = "Set";

this.btnSetTime.Click += new System.EventHandler(this.btnSetTime_Click);

this.btnReset.Enabled = false;

this.btnReset.Location = new System.Drawing.Point(240, 16);

this.btnReset.Name = "btnReset";

this.btnReset.Size = new System.Drawing.Size(48, 24);

this.btnReset.TabIndex = 17;

this.btnReset.Text = "Reset";

this.btnReset.Click += new System.EventHandler(this.btnReset_Click);

this.tmrReminder.Enabled = true;

this.tmrReminder.Interval = 1000;

this.tmrReminder.Tick += new System.EventHandler(this.tmrReminder_Tick);

this.lblReminder.Location = new System.Drawing.Point(10, 56);

this.lblReminder.Name = "lblReminder";

this.lblReminder.Size = new System.Drawing.Size(62, 23);

this.lblReminder.TabIndex = 19;

this.lblReminder.Text = "Reminder:";

this.lblReminder.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

this.txtReminder.Location = new System.Drawing.Point(80, 56);

this.txtReminder.Name = "txtReminder";

this.txtReminder.Size = new System.Drawing.Size(208, 21);

this.txtReminder.TabIndex = 20;

this.dtpTime.CustomFormat = "hh:mm tt";

this.dtpTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;

this.dtpTime.Location = new System.Drawing.Point(64, 16);

this.dtpTime.Name = "dtpTime";

this.dtpTime.ShowUpDown = true;

this.dtpTime.Size = new System.Drawing.Size(80, 21);

this.dtpTime.TabIndex = 21;

this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);

this.ClientSize = new System.Drawing.Size(304, 93);

this.Controls.Add(this.dtpTime);

this.Controls.Add(this.txtReminder);

this.Controls.Add(this.lblReminder);

this.Controls.Add(this.btnReset);

this.Controls.Add(this.btnSetTime);

this.Controls.Add(this.lblTime);

this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

this.Name = "FrmReminder";

this.Text = "Pop-Up Reminder";

this.ResumeLayout(false);

this.PerformLayout();

}

#endregion

[STAThread]

static void Main()

{

Application.Run( new FrmReminder() );

}

private void btnSetTime_Click(object sender, EventArgs e)

{

btnSetTime.Enabled = false; //disable set button

txtReminder.Enabled = false; //disable textbox reminder

dtpTime.Enabled = false; // disable datetime picker

btnReset.Enabled = true; // enable reset button

}

private void tmrReminder_Tick(

object sender, EventArgs e)

{

//declare variables

DateTimePicker dtpTime = new DateTimePicker();

DateTime dtmCurrentTime = DateTime.Now;

if (dtpTime.Value == dtmCurrentTime &&

dtpTime.Enabled == false)

{

MessageBox.Show(txtReminder.Text,

"Reminder", MessageBoxButtons.OK,

MessageBoxIcon.Exclamation);

}

}

private void btnReset_Click(object sender, EventArgs e)

{

btnSetTime.Enabled = true; //enables set Button

txtReminder.Enabled = true; //enables Reminder textbox

dtpTime.Enabled = true; // enables DateTime Picker

btnReset.Enabled = false; //disables the Reset Button

}

}

}

Explanation / Answer

The error occurs because you use #endregion without #region. Let understand it with definition whenever you indicate a block code with a name then you indicate it with a name and continue the entire block of code between #region and #endregion. Similarly here you have to apply. I am commenting it in the code. (Optional according to me if the code not work properly after removing the error then you have to put code given below in the code where I comment   if ( (dtpTime-DateTime.Now).TotalSeconds < 1 ) {.… })

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Reminder

{

public class FrmReminder : System.Windows.Forms.Form

{

private System.Windows.Forms.Label lblTime;

private DateTimePicker dtpTime;

private System.Windows.Forms.Label lblReminder;

private System.Windows.Forms.TextBox txtReminder;

private System.Windows.Forms.Button btnSetTime;

private System.Windows.Forms.Button btnReset;

private System.Windows.Forms.Timer tmrReminder;

private System.ComponentModel.IContainer components;

public FrmReminder()

{

InitializeComponent();

}

protected override void Dispose(bool disposing)

{

if(disposing)

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose(disposing);

}

#region //YOU HAVE TO PUT #REGION TO REMOVE THE ERROR//

private void InitializeComponent()

{

this.components = new System.ComponentModel.Container();

this.lblTime = new System.Windows.Forms.Label();

this.btnSetTime = new System.Windows.Forms.Button();

this.btnReset = new System.Windows.Forms.Button();

this.tmrReminder = new System.Windows.Forms.Timer(this.components);

this.lblReminder = new System.Windows.Forms.Label();

this.txtReminder = new System.Windows.Forms.TextBox();

this.dtpTime = new System.Windows.Forms.DateTimePicker();

this.SuspendLayout();

this.lblTime.Location = new System.Drawing.Point(10, 16);

this.lblTime.Name = "lblTime";

this.lblTime.Size = new System.Drawing.Size(48, 16);

this.lblTime.TabIndex = 15;

this.lblTime.Text = "Time:";

this.lblTime.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

this.btnSetTime.Location = new System.Drawing.Point(176, 16);

this.btnSetTime.Name = "btnSetTime";

this.btnSetTime.Size = new System.Drawing.Size(48, 23);

this.btnSetTime.TabIndex = 16;

this.btnSetTime.Text = "Set";

this.btnSetTime.Click += new System.EventHandler(this.btnSetTime_Click);

this.btnReset.Enabled = false;

this.btnReset.Location = new System.Drawing.Point(240, 16);

this.btnReset.Name = "btnReset";

this.btnReset.Size = new System.Drawing.Size(48, 24);

this.btnReset.TabIndex = 17;

this.btnReset.Text = "Reset";

this.btnReset.Click += new System.EventHandler(this.btnReset_Click);

this.tmrReminder.Enabled = true;

this.tmrReminder.Interval = 1000;

this.tmrReminder.Tick += new System.EventHandler(this.tmrReminder_Tick);

this.lblReminder.Location = new System.Drawing.Point(10, 56);

this.lblReminder.Name = "lblReminder";

this.lblReminder.Size = new System.Drawing.Size(62, 23);

this.lblReminder.TabIndex = 19;

this.lblReminder.Text = "Reminder:";

this.lblReminder.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

this.txtReminder.Location = new System.Drawing.Point(80, 56);

this.txtReminder.Name = "txtReminder";

this.txtReminder.Size = new System.Drawing.Size(208, 21);

this.txtReminder.TabIndex = 20;

this.dtpTime.CustomFormat = "hh:mm tt";

this.dtpTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;

this.dtpTime.Location = new System.Drawing.Point(64, 16);

this.dtpTime.Name = "dtpTime";

this.dtpTime.ShowUpDown = true;

this.dtpTime.Size = new System.Drawing.Size(80, 21);

this.dtpTime.TabIndex = 21;

this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);

this.ClientSize = new System.Drawing.Size(304, 93);

this.Controls.Add(this.dtpTime);

this.Controls.Add(this.txtReminder);

this.Controls.Add(this.lblReminder);

this.Controls.Add(this.btnReset);

this.Controls.Add(this.btnSetTime);

this.Controls.Add(this.lblTime);

this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));

this.Name = "FrmReminder";

this.Text = "Pop-Up Reminder";

this.ResumeLayout(false);

this.PerformLayout();

}

#endregion

[STAThread]

static void Main()

{

Application.Run( new FrmReminder() );

}

private void btnSetTime_Click(object sender, EventArgs e)

{

btnSetTime.Enabled = false; //disable set button

txtReminder.Enabled = false; //disable textbox reminder

dtpTime.Enabled = false; // disable datetime picker

btnReset.Enabled = true; // enable reset button

}

private void tmrReminder_Tick(

object sender, EventArgs e)

{

//declare variables

DateTimePicker dtpTime = new DateTimePicker();

DateTime dtmCurrentTime = DateTime.Now;

//IF ERROR OCCURE THEN //

if (dtpTime.Value == dtmCurrentTime &&

dtpTime.Enabled == false)

{

MessageBox.Show(txtReminder.Text,

"Reminder", MessageBoxButtons.OK,

MessageBoxIcon.Exclamation);

}

}

private void btnReset_Click(object sender, EventArgs e)

{

btnSetTime.Enabled = true; //enables set Button

txtReminder.Enabled = true; //enables Reminder textbox

dtpTime.Enabled = true; // enables DateTime Picker

btnReset.Enabled = false; //disables the Reset Button

}

}

}