//Initialize dialog's state according to in-param[config]. public void SetJttsConfig(Jtts.JTTS_CONFIG config) { int i = 0; //Get all voice and add to "comboBoxVoice". int iVoiceCount = Jtts.jTTS_GetVoiceCount(); int iDefaultVoiceIndex = 0; //Index of default voice. for (i = 0; i < iVoiceCount; i++) { Jtts.JTTS_VOICEATTRIBUTE vAtt = new InfoQuick.SinoVoice.Tts.Jtts.JTTS_VOICEATTRIBUTE(); Jtts.jTTS_GetVoiceAttribute(i, out vAtt); Jtts.JTTS_LANGATTRIBUTE lAtt = new InfoQuick.SinoVoice.Tts.Jtts.JTTS_LANGATTRIBUTE(); Jtts.jTTS_GetLangAttributeByValue(vAtt.nLanguage, out lAtt); string strVoiceDescribe = vAtt.szName + '(' + lAtt.szName + " " + strGender[vAtt.nGender] + ')'; comboBoxVoice.Items.Add(strVoiceDescribe); //Get index of default voice. if (config.szVoiceID == vAtt.szVoiceID) { iDefaultVoiceIndex = i; } } //Set default voice. comboBoxVoice.SelectedIndex = iDefaultVoiceIndex; comboBoxDomain.SelectedIndex = config.nDomain; comboBoxCodePage.SelectedIndex = CodePageFromValueToIndex(config.nCodePage); comboBoxDigital.SelectedIndex = config.nDigitMode; comboBoxEnglish.SelectedIndex = config.nEngMode; comboBoxTag.SelectedIndex = config.nTagMode; trackBarVolume.Value = config.nVolume; trackBarSpeed.Value = config.nSpeed; trackBarPitch.Value = config.nPitch; checkBoxPunctuation.Checked = ((config.nPuncMode & (short)0x01) != 0)? true : false; checkBoxReturnCutSentence.Checked = ((config.nPuncMode & (short)0x02) != 0)? true : false; }