Не уверен, что именно происходит здесь, так как он не дает мне сообщение об ошибке, когда я пытаюсь запустить эту часть кода.C# словарь не работает?
В основном его предполагается поместить текст из словаря в RichTextBox при выборе опции из выпадающего Menue
Как если я выбираю «Outage» из выпадающего списка следует поместить содержимое, что в richtextbox
public partial class Form1 : Form
{
public Dictionary<string, string> templates = new Dictionary<string, string>();
public Form1()
{
// Templates
templates.Add("Outage", "Server Name: \nTest: \nTest (test): \n");
templates.Add("Out", "test: \nTest: \nTest:");
templates.Add("Custom", @"C:\Users\johnathan_jackson\Downloads\Remedy Tool\Templates\custom templates\test.txt");
templates.Add("Test", "Server Name: \nTest: \nTest: \n");
templates.Add("Basic", "OS: \nIP Address: \nApplications affected: \nWhen did this last work: \n Number of users affected: \nSpecific error message: \nTroubleshooting steps taken \nDetailed Resolution \nIf not service resolvable, Why:");
templates.Add("Xerox", "Serial Number (mandatory): \nAsset Number: \nContact Phone Number: \nContact e-mail address: \nFull Address: \nDescription of the Supplies that are needed: \nPart # (if customer has it): \nError message (if any): \nLocation (Building/Floor/etc): \nModel #: \n");
NavigateURL navigateBrowser = new NavigateURL();
InitializeComponent();
Remedy_Automate.AllowNavigation = true;
Remedy_Automate.ScriptErrorsSuppressed = true;
Remedy_Automate.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(navigateBrowser.DocumentState);
// GetInfo from Remedy to these controls
navigateBrowser.cIncidentID = incidentID_Entry;
navigateBrowser.cEmployeeID = employeeID_Entry;
navigateBrowser.cEmployeeName = employeeName_Entry;
navigateBrowser.cPhoneNumber = phoneNumber_Entry;
navigateBrowser.cNotes = Notes_Entry;
getinfo.Click += new System.EventHandler(navigateBrowser.GetInfoClick);
sendinfo.Click += new System.EventHandler(navigateBrowser.ModifyInfo);
browserTabControl.Selecting += browserTabControl_Selecting;
browserTabControl.HandleCreated += browserTabControl_HandleCreated;
wTemplates.DropDownStyle = ComboBoxStyle.DropDownList;
// set browser control in 'cNavigateURL' class
navigateBrowser.BrowserInstance = Remedy_Automate;
navigateBrowser.NavigateToUrl("http://fit.honeywell.com/arsys");
}// Form1
private void sendinfo_click(object sender, EventArgs e)
{
string notestext = Notes_Entry.Text;
Console.WriteLine(notestext);
}
private void template_selected(object sender, EventArgs e)
{
String pTempText = wTemplates.Text;
Console.WriteLine(pTempText);
switch(pTempText)
{
case "Outage":
Notes_Entry.Text = templates[pTempText];
break;
case "Basic":
Notes_Entry.Text = templates[pTempText];
break;
case "Custom":
Notes_Entry.Text = templates[pTempText];
break;
case "Out":
Notes_Entry.Text = templates[pTempText];
break;
}
InitializeComponent(); должен быть на первом месте в конструкторе Form1 –
Какая ошибка вы получаете? Запустили ли вы его в отладчике, чтобы узнать, какие значения переменных возникают, когда вы получаете исключение? –
Помимо всего прочего, вам не нужен этот коммутационный блок. Просто проверьте, содержит ли словарь ключ, и если да, установите его. Обратите внимание, что все блоки вашего случая имеют одинаковый код? – LarsTech