C#中怎样从一个窗口自动跳到另一个窗口请问各位高手 “C#中怎样从一个窗口自动跳到另一个窗口”老师说用spla
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 时间自己按需要进行设定
[解决办法]
[解决办法]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;}
------解决方案--------------------
FILE* fpRLogFile = NULL;z3 sGHEAD; z3 k8;char sSqlStatment[MaxSQLLength + 1];
TSelectResultList clsSelectResultList;//根据节点类型,取得不同路径,将文件记录到不同路径下DEBUGLOG;
//节点为ACCOUNT类型if (ACCOUNT == y8.m_iNodeType){sprintf(k8, "%s/%s/%s", TRANSBALANCEACCOUNT_DIR, y8.m_sNodeNo,
pFileName);}//以W打开要生成的文件fpRLogFile = fopen(k8, "w");if (NULL == fpRLogFile){ERRORLOG;y2;}
//切换到VC主数据库setCurrentDB(z5[0].m_sDBNickName);// 查询数据库,取得fep_checkfile_log记录总数,
// 分批取出记录并写入文件sprintf(sSqlStatment, "%s", "select count (*) from fep_checkfile_log");
int iRet = ecSelect(sSqlStatment, &clsSelectResultList);
if (iRet != 0){ ERRORLOG; j2;y3; y2;}int iTotalRec = 0;if (1 != clsSelectResultList.m_iNrOfSelectResult)
{ERRORLOG;j2;y3;y2;}iTotalRec = clsSelectResultList.pHead->pRowResult[0].m_tDataValue.m_iIntValue;
//将记录个数及头信息写到文件的第一行信息行中sprintf(sGHEAD, "%s%010d\n", pGHEAD, iTotalRec);
int iBatchGet = iTotalRec / g_pConfigMng->m_iBatchRecord + 1;// 记录当前文件中的交易笔数
TMsgStat* pMsgStat = &(y8.m_tMsgStat);pMsgStat->m_iTotalNum += iTotalRec;
if (EOF == fputs(sGHEAD, fpRLogFile)){ERRORLOG;y3;j2; y2;}j2;// 开始批处理
for (int iBat = 0; iBat < iBatchGet; iBat++){TSelectResultList clsSelectListBatch;
char sSqlBat[MaxSQLLength + 1];//查询数据库,取得fep_checkfile_log表一批记录if (0 == iBat)
{sprintf(sSqlBat, "select first %d * from fep_checkfile_log order by tradenostring",
g_pConfigMng->m_iBatchRecord);} else {//以后的批次sprintf(sSqlBat, "select first %d * from
fep_checkfile_log where tradenostring>'%s' order by tradenostring",g_pConfigMng->m_iBatchRecord,
g_sLastTradeNoString);}//将查询结果放至pSelectListBatch中int iRet = ecSelect(sSqlBat, &clsSelectListBatch);
if (iRet != 0){ERRORLOG;j8;y3;y2;} //写记录到文件,如果错误的返回if (Wrong == writeRLogResultToFile(
iNodeIndex, fpRLogFile,&clsSelectListBatch)){//记录错误日志,关闭文件ERRORLOG;y3;j8;y2;}
j8;} // for batch//成功完成,释放内存,关闭文件 y3;y1;};
//将当前卡号和交易流水号写到文件中
TBool writeCardInfoUnlock(char* pTradeNostring, char* pCardNumber){
if (NULL == pTradeNostring || NULL == pCardNumber){ ERRORLOG; y2;}
//文件名规范:cardinfo_locked_YYYYMMDD.txt,如果不存在创建,存在追加记录的格式
z3 k8;char sDate[DateFieldLength + 1];//取得当前系统日期,放入sDate中getCurDateAndTime(sDate, NULL);
sprintf(k8, "%s/cardinfo_locked_%s.txt",TRANSBALANCEABNORMAL_DIR, sDate);//将文件以记录追加方式打开
FILE* fp = fopen(k8, "a+");if (NULL == fp){ERRORLOG;y2;}//内容格式: pTradeNostring|pCardNumber|
if (0 > fprintf(fp, "%s|%s\n", pTradeNostring, pCardNumber)){ ERRORLOG;y4; y2;}y4;y1;}