本文整理汇总了C#中Chummer.ContactControl类的典型用法代码示例。如果您正苦于以下问题:C# ContactControl类的具体用法?C# ContactControl怎么用?C# ContactControl使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ContactControl类属于Chummer命名空间,在下文中一共展示了ContactControl类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: cmdAddEnemy_Click
private void cmdAddEnemy_Click(object sender, EventArgs e)
{
// Handle the ConnectionRatingChanged Event for the ContactControl object.
int intNegativeQualityBP = 0;
// Calculate the BP used for Negative Qualities.
foreach (Quality objQuality in _objCharacter.Qualities)
{
if (objQuality.Type == QualityType.Negative && objQuality.ContributeToLimit)
intNegativeQualityBP += objQuality.BP;
}
// Include the amount of free Negative Qualities from Improvements.
intNegativeQualityBP -= _objImprovementManager.ValueOf(Improvement.ImprovementType.FreeNegativeQualities);
// Adjust for Karma build method.
if (_objCharacter.BuildMethod == CharacterBuildMethod.Karma)
intNegativeQualityBP *= _objOptions.KarmaQuality;
int intBPUsed = 0;
int intEnemyMax = 0;
int intQualityMax = 0;
string strEnemyPoints = "";
string strQualityPoints = "";
intBPUsed = -2 * _objOptions.KarmaQuality;
intEnemyMax = 50;
intQualityMax = 70;
strEnemyPoints = "50 " + LanguageManager.Instance.GetString("String_Karma");
strQualityPoints = "70 " + LanguageManager.Instance.GetString("String_Karma");
foreach (ContactControl objEnemyControl in panEnemies.Controls)
{
intBPUsed -= (objEnemyControl.ConnectionRating + objEnemyControl.LoyaltyRating) * _objOptions.KarmaEnemy;
}
if (intBPUsed < (intEnemyMax * -1) && !_objCharacter.IgnoreRules)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_EnemyLimit").Replace("{0}", strEnemyPoints), LanguageManager.Instance.GetString("MessageTitle_EnemyLimit"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (!_objOptions.ExceedNegativeQualities)
{
if (intBPUsed + intNegativeQualityBP < (intQualityMax * -1) && !_objCharacter.IgnoreRules)
{
MessageBox.Show(LanguageManager.Instance.GetString("Message_NegativeQualityLimit").Replace("{0}", strQualityPoints), LanguageManager.Instance.GetString("MessageTitle_NegativeQualityLimit"), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
Contact objContact = new Contact(_objCharacter);
_objCharacter.Contacts.Add(objContact);
int i = panEnemies.Controls.Count;
ContactControl objContactControl = new ContactControl(_objCharacter);
objContactControl.ContactObject = objContact;
objContactControl.EntityType = ContactType.Enemy;
// Attach an EventHandler for the ConnectioNRatingChanged, LoyaltyRatingChanged, DeleteContact, FileNameChanged and OtherCostChanged(hackish) Events
objContactControl.ConnectionRatingChanged += objEnemy_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objEnemy_LoyaltyRatingChanged;
objContactControl.DeleteContact += objEnemy_DeleteContact;
objContactControl.FileNameChanged += objEnemy_FileNameChanged;
objContactControl.GroupStatusChanged += objEnemy_GroupStatusChanged;
objContactControl.FreeRatingChanged += objEnemy_FreeStatusChanged;
objContactControl.IsEnemy = true;
// Set the ContactControl's Location since scrolling the Panel causes it to actually change the child Controls' Locations.
objContactControl.Location = new Point(0, objContactControl.Height * i + panEnemies.AutoScrollPosition.Y);
panEnemies.Controls.Add(objContactControl);
UpdateCharacterInfo();
_blnIsDirty = true;
UpdateWindowTitle();
}
示例2: RefreshContacts
public void RefreshContacts()
{
HashSet<Contact> existing = new HashSet<Contact>();
for (int i = panContacts.Controls.Count - 1; i >= 0; i--)
{
Control contact = panContacts.Controls[i];
ContactControl contactControl = (ContactControl)contact;
if (contactControl != null)
{
if (_objCharacter.Contacts.Contains(contactControl.ContactObject))
{
contactControl.LoyaltyRating = contactControl.LoyaltyRating; //Force refresh
contactControl.UpdateQuickText();
existing.Add(contactControl.ContactObject);
}
else
{
objContact_DeleteContact(contactControl, true);
}
}
}
//Sync panContacts to character.contacts
//objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
//objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
//objContactControl.DeleteContact += objContact_DeleteContact;
//objContactControl.FileNameChanged += objContact_FileNameChanged;
var newcontacts = from contact in _objCharacter.Contacts
where contact.EntityType == ContactType.Contact
&& !existing.Contains(contact)
select contact;
foreach (Contact contact in newcontacts)
{
ContactControl ctrl = new ContactControl(_objCharacter);
ctrl.ContactObject = contact;
ctrl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
ctrl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
ctrl.DeleteContact += objContact_DeleteContact;
ctrl.FileNameChanged += objContact_FileNameChanged;
ctrl.FreeRatingChanged += objContact_OtherCostChanged;
ctrl.LoyaltyRating = ctrl.LoyaltyRating;
ctrl.ConnectionRating = ctrl.ConnectionRating;
panContacts.Controls.Add(ctrl);
}
}
示例3: cmdAddContact_Click
private void cmdAddContact_Click(object sender, EventArgs e)
{
Contact objContact = new Contact(_objCharacter);
_objCharacter.Contacts.Add(objContact);
int i = panContacts.Controls.Count;
ContactControl objContactControl = new ContactControl(_objCharacter);
objContactControl.ContactObject = objContact;
objContactControl.EntityType = ContactType.Contact;
// Attach an EventHandler for the ConnectionRatingChanged, LoyaltyRatingChanged, DeleteContact, FileNameChanged Events and OtherCostChangedEvent
objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
objContactControl.DeleteContact += objContact_DeleteContact;
objContactControl.FileNameChanged += objContact_FileNameChanged;
objContactControl.FreeRatingChanged += objContact_OtherCostChanged;
objContactControl.MouseDown += panContactControl_MouseDown;
panContacts.Controls.Add(objContactControl);
UpdateCharacterInfo();
_blnIsDirty = true;
UpdateWindowTitle();
}
示例4: frmCreate_Load
//.........这里部分代码省略.........
if (objSkill.KnowledgeSkill)
{
i++;
SkillControl objSkillControl = new SkillControl();
objSkillControl.SkillObject = objSkill;
// Attach an EventHandler for the RatingChanged and SpecializationChanged Events.
objSkillControl.RatingChanged += objKnowledgeSkill_RatingChanged;
objSkillControl.SpecializationChanged += objSkill_SpecializationChanged;
objSkillControl.DeleteSkill += objKnowledgeSkill_DeleteSkill;
objSkillControl.BreakGroupClicked += objSkill_BreakGroupClicked;
objSkillControl.KnowledgeSkill = true;
objSkillControl.SkillCategory = objSkill.SkillCategory;
objSkillControl.AllowDelete = true;
objSkillControl.SkillRatingMaximum = objSkill.RatingMaximum;
objSkillControl.SkillRating = objSkill.Rating;
objSkillControl.SkillName = objSkill.Name;
objSkillControl.SkillSpec = objSkill.Specialization;
objSkillControl.Top = i * objSkillControl.Height;
objSkillControl.AutoScroll = false;
panKnowledgeSkills.Controls.Add(objSkillControl);
}
}
// Populate Contacts and Enemies.
int intContact = -1;
int intEnemy = -1;
foreach (Contact objContact in _objCharacter.Contacts)
{
if (objContact.EntityType == ContactType.Contact)
{
intContact++;
ContactControl objContactControl = new ContactControl();
// Attach an EventHandler for the ConnectionRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
objContactControl.ConnectionGroupRatingChanged += objContact_ConnectionGroupRatingChanged;
objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
objContactControl.DeleteContact += objContact_DeleteContact;
objContactControl.FileNameChanged += objContact_FileNameChanged;
objContactControl.ContactObject = objContact;
objContactControl.ContactName = objContact.Name;
objContactControl.ConnectionRating = objContact.Connection;
objContactControl.LoyaltyRating = objContact.Loyalty;
objContactControl.EntityType = objContact.EntityType;
objContactControl.BackColor = objContact.Colour;
objContactControl.Top = intContact * objContactControl.Height;
panContacts.Controls.Add(objContactControl);
}
if (objContact.EntityType == ContactType.Enemy)
{
intEnemy++;
ContactControl objContactControl = new ContactControl();
// Attach an EventHandler for the ConnectioNRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objEnemy_ConnectionRatingChanged;
objContactControl.ConnectionGroupRatingChanged += objEnemy_ConnectionGroupRatingChanged;
objContactControl.LoyaltyRatingChanged += objEnemy_LoyaltyRatingChanged;
objContactControl.DeleteContact += objEnemy_DeleteContact;
objContactControl.FileNameChanged += objEnemy_FileNameChanged;
objContactControl.ContactObject = objContact;
objContactControl.ContactName = objContact.Name;
objContactControl.ConnectionRating = objContact.Connection;
objContactControl.LoyaltyRating = objContact.Loyalty;
示例5: frmCreate_Load
//.........这里部分代码省略.........
objSkillControl.SpecializationChanged += objSkill_SpecializationChanged;
objSkillControl.DeleteSkill += objKnowledgeSkill_DeleteSkill;
objSkillControl.BreakGroupClicked += objSkill_BreakGroupClicked;
objSkillControl.BuyWithKarmaChanged += objKnowledgeSkill_BuyWithKarmaChanged;
objSkillControl.MergeClicked += knoSkill_MergeClick;
objSkillControl.KnowledgeSkill = true;
objSkillControl.SkillCategory = objSkill.SkillCategory;
objSkillControl.AllowDelete = true;
objSkillControl.SkillRatingMaximum = objSkill.RatingMaximum;
objSkillControl.SkillBase = objSkill.Base;
objSkillControl.SkillKarma = objSkill.Karma;
objSkillControl.SkillRating = objSkill.Rating;
objSkillControl.SkillName = objSkill.Name;
objSkillControl.SkillSpec = objSkill.Specialization;
objSkillControl.Top = i * objSkillControl.Height;
objSkillControl.AutoScroll = false;
panKnowledgeSkills.Controls.Add(objSkillControl);
////Handler for pre-5.163 Point Buy characters that had skill points in their knowledge skills
//if (objSkill.Base != 0 && !objSkill.CharacterObject.Options.FreeKarmaKnowledge && _objCharacter.BuildMethod == CharacterBuildMethod.Karma)
//{ //lets no keep this code here!
// objSkill.Base = 0;
//}
}
}
// Populate Contacts and Enemies.
int intContact = -1;
int intEnemy = -1;
foreach (Contact objContact in _objCharacter.Contacts)
{
if (objContact.EntityType == ContactType.Contact)
{
intContact++;
ContactControl objContactControl = new ContactControl(_objCharacter);
// Attach an EventHandler for the ConnectionRatingChanged, LoyaltyRatingChanged, DeleteContact, FileNameChanged Events and OtherCostChanged
objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
objContactControl.DeleteContact += objContact_DeleteContact;
objContactControl.FileNameChanged += objContact_FileNameChanged;
objContactControl.FreeRatingChanged += objContact_OtherCostChanged;
objContactControl.ContactObject = objContact;
objContactControl.ContactName = objContact.Name;
objContactControl.ContactLocation = objContact.Location;
objContactControl.ContactRole = objContact.Role;
objContactControl.ConnectionRating = objContact.Connection;
objContactControl.LoyaltyRating = objContact.Loyalty;
objContactControl.EntityType = objContact.EntityType;
objContactControl.BackColor = objContact.Colour;
objContactControl.IsGroup = objContact.IsGroup;
objContactControl.MouseDown += panContactControl_MouseDown;
objContactControl.Top = intContact * objContactControl.Height;
panContacts.Controls.Add(objContactControl);
}
if (objContact.EntityType == ContactType.Enemy)
{
intEnemy++;
ContactControl objContactControl = new ContactControl(_objCharacter);
// Attach an EventHandler for the ConnectioNRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objEnemy_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objEnemy_LoyaltyRatingChanged;
objContactControl.GroupStatusChanged += objEnemy_GroupStatusChanged;
objContactControl.FreeRatingChanged += objEnemy_FreeStatusChanged;
objContactControl.DeleteContact += objEnemy_DeleteContact;
objContactControl.FileNameChanged += objEnemy_FileNameChanged;
示例6: cmdAddContact_Click
private void cmdAddContact_Click(object sender, EventArgs e)
{
Contact objContact = new Contact(_objCharacter);
_objCharacter.Contacts.Add(objContact);
int i = panContacts.Controls.Count;
ContactControl objContactControl = new ContactControl();
objContactControl.ContactObject = objContact;
objContactControl.EntityType = ContactType.Contact;
// Attach an EventHandler for the ConnectionRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
objContactControl.ConnectionGroupRatingChanged += objContact_ConnectionGroupRatingChanged;
objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
objContactControl.DeleteContact += objContact_DeleteContact;
objContactControl.FileNameChanged += objContact_FileNameChanged;
// Set the ContactControl's Location since scrolling the Panel causes it to actually change the child Controls' Locations.
objContactControl.Location = new Point(0, objContactControl.Height * i + panContacts.AutoScrollPosition.Y);
panContacts.Controls.Add(objContactControl);
UpdateCharacterInfo();
_blnIsDirty = true;
UpdateWindowTitle();
}
示例7: cmdAddEnemy_Click
private void cmdAddEnemy_Click(object sender, EventArgs e)
{
// Handle the ConnectionRatingChanged Event for the ContactControl object.
Contact objContact = new Contact(_objCharacter);
_objCharacter.Contacts.Add(objContact);
int i = panEnemies.Controls.Count;
ContactControl objContactControl = new ContactControl(_objCharacter);
objContactControl.ContactObject = objContact;
objContactControl.EntityType = ContactType.Enemy;
// Attach an EventHandler for the ConnectioNRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objEnemy_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objEnemy_LoyaltyRatingChanged;
objContactControl.DeleteContact += objEnemy_DeleteContact;
objContactControl.FileNameChanged += objEnemy_FileNameChanged;
objContactControl.IsEnemy = true;
panEnemies.Controls.Add(objContactControl);
UpdateCharacterInfo();
_blnIsDirty = true;
UpdateWindowTitle();
}
示例8: frmCareer_Load
//.........这里部分代码省略.........
i++;
SkillControl objSkillControl = new SkillControl();
objSkillControl.SkillObject = objSkill;
// Attach an EventHandler for the RatingChanged and SpecializationChanged Events.
objSkillControl.RatingChanged += objKnowledgeSkill_RatingChanged;
objSkillControl.SpecializationChanged += objSkill_SpecializationChanged;
objSkillControl.SpecializationLeave += objSkill_SpecializationLeave;
objSkillControl.DeleteSkill += objKnowledgeSkill_DeleteSkill;
objSkillControl.SkillKarmaClicked += objKnowledgeSkill_KarmaClicked;
objSkillControl.DiceRollerClicked += objSkill_DiceRollerClicked;
objSkillControl.KnowledgeSkill = true;
objSkillControl.SkillCategory = objSkill.SkillCategory;
objSkillControl.AllowDelete = true;
objSkillControl.SkillRatingMaximum = objSkill.RatingMaximum;
objSkillControl.SkillRating = objSkill.Rating;
objSkillControl.SkillName = objSkill.Name;
objSkillControl.SkillSpec = objSkill.Specialization;
objSkillControl.Top = i * objSkillControl.Height;
objSkillControl.AutoScroll = false;
panKnowledgeSkills.Controls.Add(objSkillControl);
}
}
// Populate Contacts and Enemies.
int intContact = -1;
int intEnemy = -1;
foreach (Contact objContact in _objCharacter.Contacts)
{
if (objContact.EntityType == ContactType.Contact)
{
intContact++;
ContactControl objContactControl = new ContactControl(_objCharacter);
// Attach an EventHandler for the ConnectionRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
objContactControl.DeleteContact += objContact_DeleteContact;
objContactControl.FileNameChanged += objContact_FileNameChanged;
objContactControl.ContactObject = objContact;
objContactControl.ContactName = objContact.Name;
objContactControl.ContactLocation = objContact.Location;
objContactControl.ContactRole = objContact.Role;
objContactControl.ConnectionRating = objContact.Connection;
objContactControl.LoyaltyRating = objContact.Loyalty;
objContactControl.EntityType = objContact.EntityType;
objContactControl.BackColor = objContact.Colour;
objContactControl.IsGroup = objContact.IsGroup;
if (objContact.MadeMan)
{
objContactControl.IsGroup = objContact.MadeMan;
}
objContactControl.Top = intContact * objContactControl.Height;
panContacts.Controls.Add(objContactControl);
}
if (objContact.EntityType == ContactType.Enemy)
{
intEnemy++;
ContactControl objContactControl = new ContactControl(_objCharacter);
// Attach an EventHandler for the ConnectioNRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objEnemy_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objEnemy_LoyaltyRatingChanged;
objContactControl.DeleteContact += objEnemy_DeleteContact;
objContactControl.FileNameChanged += objEnemy_FileNameChanged;
示例9: RefreshContacts
public void RefreshContacts()
{
HashSet<Contact> existing = new HashSet<Contact>();
for (int i = panContacts.Controls.Count - 1; i >= 0; i--)
{
Control contact = panContacts.Controls[i];
ContactControl contactControl = (ContactControl)contact;
if (contactControl != null)
{
if (_objCharacter.Contacts.Contains(contactControl.ContactObject))
{
contactControl.LoyaltyRating = contactControl.LoyaltyRating; //Force refresh
contactControl.UpdateQuickText();
existing.Add(contactControl.ContactObject);
}
else
{
objContact_DeleteContact(contactControl, true);
}
}
}
//Sync panContacts to character.contacts
//objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
//objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
//objContactControl.DeleteContact += objContact_DeleteContact;
//objContactControl.FileNameChanged += objContact_FileNameChanged;
var newcontacts = from contact in _objCharacter.Contacts
where contact.EntityType == ContactType.Contact
&& !existing.Contains(contact)
select contact;
foreach (Contact contact in newcontacts)
{
ContactControl ctrl = new ContactControl(_objCharacter);
ctrl.ContactObject = contact;
ctrl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
ctrl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
ctrl.DeleteContact += objContact_DeleteContact;
ctrl.FileNameChanged += objContact_FileNameChanged;
ctrl.LoyaltyRating = ctrl.LoyaltyRating;
ctrl.ConnectionRating = ctrl.ConnectionRating;
panContacts.Controls.Add(ctrl);
}
foreach (Control contact in panContacts.Controls)
{
// Probably won't find subclass, but don't wan't to track
// down bug about contacts in 4 months because i by some
// retarded version decided to overload ContactControl
if (contact.GetType() == typeof(ContactControl) ||
contact.GetType().IsSubclassOf(typeof(ContactControl)))
{
ContactControl contactControl = (ContactControl)contact;
}
}
}
示例10: frmCreate_Load
//.........这里部分代码省略.........
{
nudMysticAdeptMAGMagician.Maximum = _objCharacter.MAG.TotalValue;
nudMysticAdeptMAGMagician.Value = _objCharacter.MAGMagician;
lblMysticAdeptAssignment.Visible = true;
nudMysticAdeptMAGMagician.Visible = true;
}
// Nuyen can be affected by Qualities, so adjust the total amount available to the character.
if (_objCharacter.IgnoreRules == false)
{
nudNuyen.Maximum = _objCharacter.NuyenMaximumBP;
}
else
{
nudNuyen.Maximum = int.MaxValue / 2000 - 75000; // To ensure there is no overflow in character nuyen even with max karma to nuyen and in debt quality
}
if (_objCharacter.BornRich) nudNuyen.Maximum += 30;
nudNuyen.Value = _objCharacter.NuyenBP;
// Load the Skills information.
objXmlDocument = XmlManager.Instance.Load("skills.xml");
int i = -1;
// Populate Contacts and Enemies.
int intContact = -1;
int intEnemy = -1;
foreach (Contact objContact in _objCharacter.Contacts)
{
if (objContact.EntityType == ContactType.Contact)
{
intContact++;
ContactControl objContactControl = new ContactControl(_objCharacter);
// Attach an EventHandler for the ConnectionRatingChanged, LoyaltyRatingChanged, DeleteContact, FileNameChanged Events and OtherCostChanged
objContactControl.ConnectionRatingChanged += objContact_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objContact_LoyaltyRatingChanged;
objContactControl.DeleteContact += objContact_DeleteContact;
objContactControl.FileNameChanged += objContact_FileNameChanged;
objContactControl.FreeRatingChanged += objContact_OtherCostChanged;
objContactControl.ContactObject = objContact;
objContactControl.ContactName = objContact.Name;
objContactControl.ContactLocation = objContact.Location;
objContactControl.ContactRole = objContact.Role;
objContactControl.ConnectionRating = objContact.Connection;
objContactControl.LoyaltyRating = objContact.Loyalty;
objContactControl.EntityType = objContact.EntityType;
objContactControl.BackColor = objContact.Colour;
objContactControl.IsGroup = objContact.IsGroup;
objContactControl.MouseDown += panContactControl_MouseDown;
objContactControl.Top = intContact * objContactControl.Height;
panContacts.Controls.Add(objContactControl);
}
if (objContact.EntityType == ContactType.Enemy)
{
intEnemy++;
ContactControl objContactControl = new ContactControl(_objCharacter);
// Attach an EventHandler for the ConnectioNRatingChanged, LoyaltyRatingChanged, DeleteContact, and FileNameChanged Events.
objContactControl.ConnectionRatingChanged += objEnemy_ConnectionRatingChanged;
objContactControl.LoyaltyRatingChanged += objEnemy_LoyaltyRatingChanged;
objContactControl.GroupStatusChanged += objEnemy_GroupStatusChanged;
objContactControl.FreeRatingChanged += objEnemy_FreeStatusChanged;
objContactControl.DeleteContact += objEnemy_DeleteContact;
objContactControl.FileNameChanged += objEnemy_FileNameChanged;