Add code to take photo from camera, needs fine-tuning

This commit is contained in:
kougyokugentou 2021-01-22 21:35:23 -08:00
parent e2a36e00c9
commit bdeb116e14
3 changed files with 202 additions and 74 deletions

132
frmChildCrud.Designer.cs generated
View File

@ -34,9 +34,11 @@
System.Windows.Forms.Label raceLabel; System.Windows.Forms.Label raceLabel;
System.Windows.Forms.Label genderLabel; System.Windows.Forms.Label genderLabel;
System.Windows.Forms.Label photoLabel; System.Windows.Forms.Label photoLabel;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmChildCrud));
System.Windows.Forms.Label addressLabel; System.Windows.Forms.Label addressLabel;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmChildCrud));
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.firstNameTextBox = new System.Windows.Forms.TextBox(); this.firstNameTextBox = new System.Windows.Forms.TextBox();
this.childBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.lastNameTextBox = new System.Windows.Forms.TextBox(); this.lastNameTextBox = new System.Windows.Forms.TextBox();
this.raceTextBox = new System.Windows.Forms.TextBox(); this.raceTextBox = new System.Windows.Forms.TextBox();
this.genderComboBox = new System.Windows.Forms.ComboBox(); this.genderComboBox = new System.Windows.Forms.ComboBox();
@ -49,29 +51,30 @@
this.PhoneNumber = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.PhoneNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.EmailAddress = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.EmailAddress = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.btnAddGuardian = new System.Windows.Forms.Button(); this.btnAddGuardian = new System.Windows.Forms.Button();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.btnEditGuardian = new System.Windows.Forms.Button(); this.btnEditGuardian = new System.Windows.Forms.Button();
this.btnDeleteGuardian = new System.Windows.Forms.Button(); this.btnDeleteGuardian = new System.Windows.Forms.Button();
this.btnPhotoFromCam = new System.Windows.Forms.Button(); this.btnStartCam = new System.Windows.Forms.Button();
this.btnPhotoFromDisk = new System.Windows.Forms.Button(); this.btnPhotoFromDisk = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button(); this.btnSave = new System.Windows.Forms.Button();
this.photoPictureBox = new System.Windows.Forms.PictureBox(); this.photoPictureBox = new System.Windows.Forms.PictureBox();
this.btnCancel = new System.Windows.Forms.Button(); this.btnCancel = new System.Windows.Forms.Button();
this.idNumericUpDown = new System.Windows.Forms.NumericUpDown(); this.idNumericUpDown = new System.Windows.Forms.NumericUpDown();
this.openFileDialogPhotoFromDisk = new System.Windows.Forms.OpenFileDialog(); this.openFileDialogPhotoFromDisk = new System.Windows.Forms.OpenFileDialog();
this.childBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.frmChildCrudBindingSource = new System.Windows.Forms.BindingSource(this.components); this.frmChildCrudBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.photoPanel = new System.Windows.Forms.Panel();
this.btnTakePhoto = new System.Windows.Forms.Button();
firstNameLabel = new System.Windows.Forms.Label(); firstNameLabel = new System.Windows.Forms.Label();
lastNameLabel = new System.Windows.Forms.Label(); lastNameLabel = new System.Windows.Forms.Label();
raceLabel = new System.Windows.Forms.Label(); raceLabel = new System.Windows.Forms.Label();
genderLabel = new System.Windows.Forms.Label(); genderLabel = new System.Windows.Forms.Label();
photoLabel = new System.Windows.Forms.Label(); photoLabel = new System.Windows.Forms.Label();
addressLabel = new System.Windows.Forms.Label(); addressLabel = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.childBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvGuardians)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvGuardians)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.photoPictureBox)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.photoPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.idNumericUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.idNumericUpDown)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.childBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.frmChildCrudBindingSource)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.frmChildCrudBindingSource)).BeginInit();
this.photoPanel.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// firstNameLabel // firstNameLabel
@ -119,6 +122,31 @@
photoLabel.TabIndex = 21; photoLabel.TabIndex = 21;
photoLabel.Text = "photo:"; photoLabel.Text = "photo:";
// //
// addressLabel
//
addressLabel.AutoSize = true;
addressLabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
addressLabel.ImageIndex = 1;
addressLabel.ImageList = this.imageList1;
addressLabel.Location = new System.Drawing.Point(12, 165);
addressLabel.Name = "addressLabel";
addressLabel.Size = new System.Drawing.Size(84, 17);
addressLabel.TabIndex = 9;
addressLabel.Text = " Address:";
//
// imageList1
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "AddButton_16x.png");
this.imageList1.Images.SetKeyName(1, "Address_16x.png");
this.imageList1.Images.SetKeyName(2, "Camera_16x.png");
this.imageList1.Images.SetKeyName(3, "Cancel_16x.png");
this.imageList1.Images.SetKeyName(4, "DeleteUser_16x.png");
this.imageList1.Images.SetKeyName(5, "Edit_16x.png");
this.imageList1.Images.SetKeyName(6, "SaveClose_16x.png");
this.imageList1.Images.SetKeyName(7, "OpenfileDialog_16x.png");
//
// firstNameTextBox // firstNameTextBox
// //
this.firstNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.childBindingSource, "FirstName", true)); this.firstNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.childBindingSource, "FirstName", true));
@ -127,6 +155,10 @@
this.firstNameTextBox.Size = new System.Drawing.Size(100, 22); this.firstNameTextBox.Size = new System.Drawing.Size(100, 22);
this.firstNameTextBox.TabIndex = 2; this.firstNameTextBox.TabIndex = 2;
// //
// childBindingSource
//
this.childBindingSource.DataSource = typeof(GreatHomeChildcare.Models.Child);
//
// lastNameTextBox // lastNameTextBox
// //
this.lastNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.childBindingSource, "LastName", true)); this.lastNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.childBindingSource, "LastName", true));
@ -243,19 +275,6 @@
this.btnAddGuardian.UseVisualStyleBackColor = true; this.btnAddGuardian.UseVisualStyleBackColor = true;
this.btnAddGuardian.Click += new System.EventHandler(this.btnAddGuardian_Click); this.btnAddGuardian.Click += new System.EventHandler(this.btnAddGuardian_Click);
// //
// imageList1
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "AddButton_16x.png");
this.imageList1.Images.SetKeyName(1, "Address_16x.png");
this.imageList1.Images.SetKeyName(2, "Camera_16x.png");
this.imageList1.Images.SetKeyName(3, "Cancel_16x.png");
this.imageList1.Images.SetKeyName(4, "DeleteUser_16x.png");
this.imageList1.Images.SetKeyName(5, "Edit_16x.png");
this.imageList1.Images.SetKeyName(6, "SaveClose_16x.png");
this.imageList1.Images.SetKeyName(7, "OpenfileDialog_16x.png");
//
// btnEditGuardian // btnEditGuardian
// //
this.btnEditGuardian.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.btnEditGuardian.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
@ -282,25 +301,25 @@
this.btnDeleteGuardian.UseVisualStyleBackColor = true; this.btnDeleteGuardian.UseVisualStyleBackColor = true;
this.btnDeleteGuardian.Click += new System.EventHandler(this.btnDeleteGuardian_Click); this.btnDeleteGuardian.Click += new System.EventHandler(this.btnDeleteGuardian_Click);
// //
// btnPhotoFromCam // btnStartCam
// //
this.btnPhotoFromCam.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.btnStartCam.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.btnPhotoFromCam.ImageIndex = 2; this.btnStartCam.ImageIndex = 2;
this.btnPhotoFromCam.ImageList = this.imageList1; this.btnStartCam.ImageList = this.imageList1;
this.btnPhotoFromCam.Location = new System.Drawing.Point(325, 204); this.btnStartCam.Location = new System.Drawing.Point(325, 204);
this.btnPhotoFromCam.Name = "btnPhotoFromCam"; this.btnStartCam.Name = "btnStartCam";
this.btnPhotoFromCam.Size = new System.Drawing.Size(146, 42); this.btnStartCam.Size = new System.Drawing.Size(146, 42);
this.btnPhotoFromCam.TabIndex = 18; this.btnStartCam.TabIndex = 18;
this.btnPhotoFromCam.Text = "From Camera"; this.btnStartCam.Text = "Start Camera";
this.btnPhotoFromCam.UseVisualStyleBackColor = true; this.btnStartCam.UseVisualStyleBackColor = true;
this.btnPhotoFromCam.Click += new System.EventHandler(this.btnPhotoFromCam_Click); this.btnStartCam.Click += new System.EventHandler(this.btnStartCam_Click);
// //
// btnPhotoFromDisk // btnPhotoFromDisk
// //
this.btnPhotoFromDisk.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.btnPhotoFromDisk.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.btnPhotoFromDisk.ImageIndex = 7; this.btnPhotoFromDisk.ImageIndex = 7;
this.btnPhotoFromDisk.ImageList = this.imageList1; this.btnPhotoFromDisk.ImageList = this.imageList1;
this.btnPhotoFromDisk.Location = new System.Drawing.Point(323, 263); this.btnPhotoFromDisk.Location = new System.Drawing.Point(325, 263);
this.btnPhotoFromDisk.Name = "btnPhotoFromDisk"; this.btnPhotoFromDisk.Name = "btnPhotoFromDisk";
this.btnPhotoFromDisk.Size = new System.Drawing.Size(147, 41); this.btnPhotoFromDisk.Size = new System.Drawing.Size(147, 41);
this.btnPhotoFromDisk.TabIndex = 19; this.btnPhotoFromDisk.TabIndex = 19;
@ -324,8 +343,9 @@
// photoPictureBox // photoPictureBox
// //
this.photoPictureBox.DataBindings.Add(new System.Windows.Forms.Binding("Image", this.childBindingSource, "photo", true)); this.photoPictureBox.DataBindings.Add(new System.Windows.Forms.Binding("Image", this.childBindingSource, "photo", true));
this.photoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
this.photoPictureBox.Image = global::GreatHomeChildcare.Properties.Resources.child; this.photoPictureBox.Image = global::GreatHomeChildcare.Properties.Resources.child;
this.photoPictureBox.Location = new System.Drawing.Point(323, 21); this.photoPictureBox.Location = new System.Drawing.Point(0, 0);
this.photoPictureBox.Name = "photoPictureBox"; this.photoPictureBox.Name = "photoPictureBox";
this.photoPictureBox.Size = new System.Drawing.Size(156, 161); this.photoPictureBox.Size = new System.Drawing.Size(156, 161);
this.photoPictureBox.TabIndex = 22; this.photoPictureBox.TabIndex = 22;
@ -355,42 +375,49 @@
this.idNumericUpDown.TabStop = false; this.idNumericUpDown.TabStop = false;
this.idNumericUpDown.Visible = false; this.idNumericUpDown.Visible = false;
// //
// addressLabel
//
addressLabel.AutoSize = true;
addressLabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
addressLabel.ImageIndex = 1;
addressLabel.ImageList = this.imageList1;
addressLabel.Location = new System.Drawing.Point(12, 165);
addressLabel.Name = "addressLabel";
addressLabel.Size = new System.Drawing.Size(84, 17);
addressLabel.TabIndex = 9;
addressLabel.Text = " Address:";
//
// openFileDialogPhotoFromDisk // openFileDialogPhotoFromDisk
// //
this.openFileDialogPhotoFromDisk.FileName = "openFileDialog1"; this.openFileDialogPhotoFromDisk.FileName = "openFileDialog1";
// //
// childBindingSource
//
this.childBindingSource.DataSource = typeof(GreatHomeChildcare.Models.Child);
//
// frmChildCrudBindingSource // frmChildCrudBindingSource
// //
this.frmChildCrudBindingSource.DataSource = typeof(GreatHomeChildcare.frmChildCrud); this.frmChildCrudBindingSource.DataSource = typeof(GreatHomeChildcare.frmChildCrud);
// //
// photoPanel
//
this.photoPanel.Controls.Add(this.photoPictureBox);
this.photoPanel.Location = new System.Drawing.Point(315, 21);
this.photoPanel.Name = "photoPanel";
this.photoPanel.Size = new System.Drawing.Size(156, 161);
this.photoPanel.TabIndex = 25;
//
// btnTakePhoto
//
this.btnTakePhoto.Enabled = false;
this.btnTakePhoto.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.btnTakePhoto.ImageIndex = 2;
this.btnTakePhoto.ImageList = this.imageList1;
this.btnTakePhoto.Location = new System.Drawing.Point(487, 204);
this.btnTakePhoto.Name = "btnTakePhoto";
this.btnTakePhoto.Size = new System.Drawing.Size(136, 42);
this.btnTakePhoto.TabIndex = 26;
this.btnTakePhoto.Text = "Take Photo";
this.btnTakePhoto.UseVisualStyleBackColor = true;
this.btnTakePhoto.Click += new System.EventHandler(this.btnTakePhoto_Click);
//
// frmChildCrud // frmChildCrud
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(834, 608); this.ClientSize = new System.Drawing.Size(834, 608);
this.Controls.Add(this.btnTakePhoto);
this.Controls.Add(this.photoPanel);
this.Controls.Add(this.idNumericUpDown); this.Controls.Add(this.idNumericUpDown);
this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnCancel);
this.Controls.Add(photoLabel); this.Controls.Add(photoLabel);
this.Controls.Add(this.photoPictureBox);
this.Controls.Add(this.btnSave); this.Controls.Add(this.btnSave);
this.Controls.Add(this.btnPhotoFromDisk); this.Controls.Add(this.btnPhotoFromDisk);
this.Controls.Add(this.btnPhotoFromCam); this.Controls.Add(this.btnStartCam);
this.Controls.Add(this.btnDeleteGuardian); this.Controls.Add(this.btnDeleteGuardian);
this.Controls.Add(this.btnEditGuardian); this.Controls.Add(this.btnEditGuardian);
this.Controls.Add(this.btnAddGuardian); this.Controls.Add(this.btnAddGuardian);
@ -409,11 +436,12 @@
this.Name = "frmChildCrud"; this.Name = "frmChildCrud";
this.Text = "Child Management : Great Home Childcare"; this.Text = "Child Management : Great Home Childcare";
this.Load += new System.EventHandler(this.frmChildCrud_Load); this.Load += new System.EventHandler(this.frmChildCrud_Load);
((System.ComponentModel.ISupportInitialize)(this.childBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvGuardians)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvGuardians)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.photoPictureBox)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.photoPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.idNumericUpDown)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.idNumericUpDown)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.childBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.frmChildCrudBindingSource)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.frmChildCrudBindingSource)).EndInit();
this.photoPanel.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -432,7 +460,7 @@
private System.Windows.Forms.Button btnAddGuardian; private System.Windows.Forms.Button btnAddGuardian;
private System.Windows.Forms.Button btnEditGuardian; private System.Windows.Forms.Button btnEditGuardian;
private System.Windows.Forms.Button btnDeleteGuardian; private System.Windows.Forms.Button btnDeleteGuardian;
private System.Windows.Forms.Button btnPhotoFromCam; private System.Windows.Forms.Button btnStartCam;
private System.Windows.Forms.Button btnPhotoFromDisk; private System.Windows.Forms.Button btnPhotoFromDisk;
private System.Windows.Forms.ImageList imageList1; private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.Button btnSave; private System.Windows.Forms.Button btnSave;
@ -446,5 +474,7 @@
private System.Windows.Forms.DataGridViewTextBoxColumn PhoneNumber; private System.Windows.Forms.DataGridViewTextBoxColumn PhoneNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn EmailAddress; private System.Windows.Forms.DataGridViewTextBoxColumn EmailAddress;
private System.Windows.Forms.OpenFileDialog openFileDialogPhotoFromDisk; private System.Windows.Forms.OpenFileDialog openFileDialogPhotoFromDisk;
private System.Windows.Forms.Panel photoPanel;
private System.Windows.Forms.Button btnTakePhoto;
} }
} }

View File

@ -5,9 +5,15 @@ using System.Data;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using GreatHomeChildcare.Models; using GreatHomeChildcare.Models;
using OpenCvSharp;
using OpenCvSharp.Extensions;
//Refs:
// https://ourcodeworld.com/articles/read/761/how-to-take-snapshots-with-the-web-camera-with-c-sharp-using-the-opencvsharp-library-in-winforms
namespace GreatHomeChildcare namespace GreatHomeChildcare
{ {
@ -18,6 +24,46 @@ namespace GreatHomeChildcare
//Global instance of the SqliteDataAccess object. //Global instance of the SqliteDataAccess object.
SqliteDataAccess SqliteDataAccess = new SqliteDataAccess(); SqliteDataAccess SqliteDataAccess = new SqliteDataAccess();
Child child = new Child();
//Smile, you're on candid camera
VideoCapture capture;
Mat frame;
Bitmap image;
private Thread camera;
bool isCameraRunning = false;
#region camera
//https://ourcodeworld.com/articles/read/761/how-to-take-snapshots-with-the-web-camera-with-c-sharp-using-the-opencvsharp-library-in-winforms
// Declare required methods
private void CaptureCamera()
{
camera = new Thread(new ThreadStart(CaptureCameraCallback));
camera.Start();
}
private void CaptureCameraCallback()
{
frame = new Mat();
capture = new VideoCapture(0);
capture.Open(0);
if (capture.IsOpened())
{
while (isCameraRunning)
{
capture.Read(frame);
image = BitmapConverter.ToBitmap(frame);
if (photoPictureBox.Image != null)
{
photoPictureBox.Image.Dispose();
}
photoPictureBox.Image = image;
}
}
}
#endregion
enum Gender enum Gender
{ {
@ -61,7 +107,7 @@ namespace GreatHomeChildcare
*/ */
private void LoadChild(int child_id_in) private void LoadChild(int child_id_in)
{ {
Child child = SqliteDataAccess.GetChildByID(child_id_in); child = SqliteDataAccess.GetChildByID(child_id_in);
Gender genderOut; Gender genderOut;
// sanity check, though it shouldn't be needed... // sanity check, though it shouldn't be needed...
@ -101,9 +147,43 @@ namespace GreatHomeChildcare
Close(); Close();
} }
private void btnPhotoFromCam_Click(object sender, EventArgs e) private void btnStartCam_Click(object sender, EventArgs e)
{ {
MessageBox.Show("From cam"); if (btnStartCam.Text.StartsWith("Start"))
{
btnTakePhoto.Enabled = true;
CaptureCamera();
btnStartCam.Text = "Stop Camera";
isCameraRunning = true;
}
else
{
btnTakePhoto.Enabled = false;
capture.Release();
btnStartCam.Text = "Start Camera";
isCameraRunning = false;
}
}
private void btnTakePhoto_Click(object sender, EventArgs e)
{
if (isCameraRunning)
{
// Take snapshot of the current image generate by OpenCV in the Picture Box
Bitmap snapshot = new Bitmap(photoPictureBox.Image);
//TODO: Do something with the new snapshot, desired state is to stick
//whatever image is there on "take photo".
// Save in some directory
// in this example, we'll generate a random filename e.g 47059681-95ed-4e95-9b50-320092a3d652.png
// snapshot.Save(@"C:\Users\sdkca\Desktop\mysnapshot.png", ImageFormat.Png);
//snapshot.Save(string.Format(@"C:\Users\sdkca\Desktop\{0}.png", Guid.NewGuid()), ImageFormat.Png);
}
else
{
MessageBox.Show("Cannot take picture without starting the camera!", "Great Home Childcare", MessageBoxButtons.OK, MessageBoxIcon.None);
}
} }
private void btnPhotoFromDisk_Click(object sender, EventArgs e) private void btnPhotoFromDisk_Click(object sender, EventArgs e)

View File

@ -132,23 +132,8 @@
<metadata name="photoLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="photoLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="childBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="addressLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>17, 17</value> <value>False</value>
</metadata>
<metadata name="id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="LastName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FirstName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PhoneNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EmailAddress.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata> </metadata>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>205, 17</value> <value>205, 17</value>
@ -158,7 +143,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACO ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACO
DgAAAk1TRnQBSQFMAgEBCAEAAYABAAGAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo DgAAAk1TRnQBSQFMAgEBCAEAAZgBAAGYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -223,8 +208,41 @@
AeMBwwX/Ae8B9ws= AeMBwwX/Ae8B9ws=
</value> </value>
</data> </data>
<metadata name="addressLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="childBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>False</value> <value>17, 17</value>
</metadata>
<metadata name="childBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="LastName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FirstName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PhoneNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EmailAddress.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="LastName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="FirstName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="PhoneNumber.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EmailAddress.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata> </metadata>
<metadata name="openFileDialogPhotoFromDisk.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="openFileDialogPhotoFromDisk.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>581, 17</value> <value>581, 17</value>