java回车键结束输入_结束输入按回车后直接搜索的实现

该博客介绍了如何在Java程序中通过监听KeyPress事件,检测到回车键(ASCII码13)被按下时,结束用户输入并触发搜索操作。示例代码展示了在txtBatchID字段中,当用户按下回车键且输入不为空时,执行特定的搜索逻辑。
摘要由CSDN通过智能技术生成

双击事件KeyPress

通过事件e检测输入字符, 当e.KeyChar == (char)13  时(13是回车,ASCII码13)

private void txtBatchID_KeyPress(object sender, KeyPressEventArgs e)

{

try

{

if (e.KeyChar == (char)13)

{

if (txtBatchID.Text != "")

{

//CommonFunction.ClearGridView(grdItemList, true);

//CommonFunction.ClearGridView(grdItemDefect, true);

//base.txtBatchID_KeyPress(sender, e);

if (ViewBatchInformation(txtBatchID.Text, "RESULT") == false)

{

return;

}

string sInspSet = CommonFunction.Trim(dtBatchInfo.Rows[2][1]);

int iInspSerVer = CommonFunction.ToInt(dtBatchInfo.Rows[2][3]);

if (sInspSet != "" && iInspSerVer != 0)

{

View_Attach_Insp_Item_List_Detail(txtBatchID.Text, sInspSet, iInspSerVer);

}

//检验计划

DataTable dt2 = QCMLIST.ViewBatchInspectionPlanItemList(txtBatchID.Text);

if (dt2 != null)

{

DevGridControlHelper.BindData(gdcInspItemAll, dt2, new int[] { 1, -1, 1, -1, 1, 1 });

gdvInspItemAll.Columns["FLOW"].Group();

gdvInspItemAll.Columns["OPER"].Group();

gdvInspItemAll.ExpandAllGroups();

}

}

}

}

catch (Exception ex)

{

CommonFunction.ShowMsgBox(ex.Message);

}

}

==============

private void txtBatchID_KeyPress(object sender, KeyPressEventArgs e)

{

try

{

if (e.KeyChar == (char)13)

{

if (txtBatchID.Text != "")

{

//CommonFunction.ClearGridView(grdItemList, true);

//CommonFunction.ClearGridView(grdItemDefect, true);

//base.txtBatchID_KeyPress(sender, e);

if (BindGV() == false)

{

return;

}

}

return;

}

}

catch (Exception ex)

{

CommonFunction.ShowMsgBox(ex.Message);

return;

}

}

### 回答1: 在 C 语言中,可以通过使用 `fgets()` 函数来实现输入字符数组时检测回车并停止输入。`fgets()` 函数可以读取一行字符串,当它遇到换行符(包括回车符)时,会停止读取,并将其包含在字符串中。 下面是一个示例代码: ```c #include <stdio.h> int main() { char str[100]; // 限制输入的字符数最多为 100 printf("请输入一行字符串(以回车结束):\n"); fgets(str, sizeof(str), stdin); // 从标准输入(键盘)读取输入 printf("你输入的字符串是:%s", str); return 0; } ``` 在上面的示例中,`fgets()` 函数从标准输入(键盘)读取输入,并将其存储在字符数组 `str` 中。`sizeof(str)` 参数指定了 `str` 数组的最大长度,以确保输入不会超过数组的容量。当用户按下回车键时,`fgets()` 函数会自动停止读取输入,并将输入回车符也包含在字符串中。最后,程序输出输入的字符串。 ### 回答2: 在C语言中,可以通过循环遍历字符数组的方式来检测回车并停止输入。具体实现步骤如下: 首先,定义一个字符数组变量来存储输入的字符序列。假设该字符数组变量为input,并且已经提前通过函数或方式申请了足够的内存空间。 接下来,使用一个循环来逐个读取输入的字符,并将其存储到input数组中。循环的条件可以是一个标志变量,让其在读取到回车字符时变为false,从而跳出循环。 具体的实现过程如下: ```c #include <stdio.h> int main() { char input[100]; // 假设字符数组大小为100,可以根据实际需求进行修改 int i; char ch; printf("请输入字符序列(以回车结束):\n"); for (i = 0;; i++) { ch = getchar(); // 逐个读取字符 if (ch == '\n') { // 检测到回车字符 break; // 跳出循环 } input[i] = ch; // 将字符存储到字符数组中 } input[i] = '\0'; // 在字符数组末尾加上结束符 printf("输入的字符序列为:%s\n", input); return 0; } ``` 以上代码通过循环遍历输入的字符,并判断是否为回车字符,若是回车字符则跳出循环,否则将字符存储到字符数组中。最后加上结束符'\0',并输出输入的字符序列。 注意:输入的字符序列不得超过字符数组的大小,否则会发生溢出错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值