日期:2014-05-18  浏览次数:21317 次

C#中怎样从一个窗口自动跳到另一个窗口
请问各位高手 “C#中怎样从一个窗口自动跳到另一个窗口”
老师说用splash,但是不知道怎么用?
刚学C#还望大家多指点!谢谢!

------解决方案--------------------
asp.net 还是 winform?
------解决方案--------------------
关闭当前窗体,打开目标窗体?还是焦点移动到目标窗体?
------解决方案--------------------
asp.net -> Response.Redirect("MainForm.aspx");
winform ->
Form2 fm2 = new Fomr2(); 
fm2.Show();

winform下如果想隐藏父窗体 就再加一句 this.Hide();

------解决方案--------------------
自动跳转? 前端js有定时器。。 
后台有timer
------解决方案--------------------
说的好像不是很明白,我郁闷啊
------解决方案--------------------
用timer 控件
第一个窗体打开 然后 timer控件计时5秒后运行另一个事件 打开第二个窗体
------解决方案--------------------
在第一个窗体上添加一个timer 在其中进行定义 先对窗体2对象实例化 然后form2.show form1.hide 时间自己按需要进行设定
------解决方案--------------------
探讨

引用:
用timer 控件
第一个窗体打开 然后 timer控件计时5秒后运行另一个事件 打开第二个窗体

为什么第一个窗口关闭后,每隔5秒第二个窗口出现一个啊,最后出现好多第二个窗口?

------解决方案--------------------
int iFieldFormat = 0;char k6[j3 + 1] = "\0"; //要输入的数据行
int j7 = 0; //输出文件中要求的字段的长度
int iTmpRecFields[j5] = {0}; //配置文件中的控制输出行
TSelectResult* pTmpSelectResult = NULL; //临时的一行记录的指针
//当不需要转换时,赋值给分段为1,2,3,....Max if (0 == y8.m_iTransFileSwitch)
{for (iLoop = 0; iLoop < j5; iLoop++){j4 = iLoop + 1;}}//按照RecFields配置转换
else if (1 == y8.m_iTransFileSwitch){for (iLoop = 0; iLoop < j5; iLoop++){j4 = y8.j6;}}
//从头指针开始操作
pTmpSelectResult = pSelectResultList->pHead;pSelectResultList->pCur = pSelectResultList->pHead;
for (iLoop = 0; iLoop < pSelectResultList->m_iNrOfSelectResult; iLoop++){if (NULL == pTmz4){
//打印调试日志,跳过到下一个DEBUGLOG;pTmpSelectResult = pTmpSelectResult->pNext; continue; }
//将数据行清0 k6[0] = '\0'; //对每一个结果中的每一行进行处理for (jLoop = 0; jLoop < j5 ; jLoop++)
{iFieldFormat = 0;//对于写入文件的行取得限定长度,取得行类型(字符串/金额/结束)
switch (k9){case 1:{j7 = 22; break;} ... default: { iFieldFormat = 2; //表示结束
break;}} //switch //以下为按照字符串进行处理 if (0 == iFieldFormat) {
//将字符串传入临时变量并放入要写入文件字符串后面 sprintf(j9, "%s", pTmz4[k9 - 1].z6); strcat(k6, j9);
 //以下保证格式,如果写入的长度不够,在后面添加空格补足 iTmpLoop = j7 - strlen(j9); while (iTmpLoop > 0)
{ strcat(k6, " ");/*添加空格 */ iTmpLoop--;}/*添加分隔符*/ strcat(k6, SeparateFlag);}
 //以下为按照金额进行处理,采用为在前面补'0'的方法 else if (1 == iFieldFormat){sprintf(j9, "%012d",
 atoi(pTmz4[k9 - 1].z6));// 累积一条记录中的交易金额TMsgStat* pMsgStat = &(y8.m_tMsgStat);
 pMsgStat->m_iTotalMoney += atoi(j9); strcat(k6, j9); strcat(k6, SeparateFlag); }//结束,添加换行符
else { strcat(k6, "\n"); break; } }//for (j5) //所有的字段都需要输出文件时,此时iFieldFormat值不可能为2
if (j5 == jLoop){ strcat(k6, "\n"); }//开始输出到文件,如果失败,打印错误日志,输出到错误文件
if (EOF == fputs(k6, fpRLogFile)){ ERRORLOG; y2;}if (iLoop == pSelectResultList->m_iNrOfSelectResult - 1)
{ // 本次最后一条记录 memset(g_sLastTradeNoString, 0, sizeof(g_sLastTradeNoString)); sprintf(
g_sLastTradeNoString, "%s", pTmz4[0].z6); g_sLastTradeNoString[LEN_TRADE_NO] = '\0';}
 //处理下一个结果 pTmpSelectResult = pTmpSelectResult->pNext; }y1;}//将日志导出到文件
TBool unloadRLogToFile(int iNodeIndex, char* pGHEAD, char* pFileName){
if (NULL == pFileName || NULL == pGHEAD){ERRORLOG y2;}y9{ERRORLOG;y2;}
------解决方案--------------------