我找到了一些关于这个的主题,但这些都没有帮助我解决我的问题,我想在开始之后将重点放在新创建的winform窗口上.
我在一个自己的新线程中启动表单:
application.Run(new InvisibleForm());
Run Code Online (Sandbox Code Playgroud)
并且表单出现,但焦点仍然是从窗口最后选择的窗口设置的.此表单没有标题栏,并且不在任务面板中查看,它还具有TransparencyKey集:
this.AutoScaleDimensions = new SizeF(6F, 13F);
this.AutoScaleMode = AutoScaleMode.Font;
this.BackColor = SystemColors.AppWorkspace;
this.ClientSize = new Size(992, 992);
this.ControlBox = false;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "InvisibleForm";
this.Opacity = 0.5;
this.ShowInTaskbar = false;
this.TransparencyKey = SystemColors.AppWorkspace;
this.Load += new EventHandler(this.InvisibleForm_Load);
Run Code Online (Sandbox Code Playgroud)
现在我尝试了一些方法,但没有一个让我专注于表单或可以在前台/所有其他窗口的顶部设置表单:
this.TopMost = true;
this.Focus();
this.BringToFront();
this.Activate();
Run Code Online (Sandbox Code Playgroud)
有没有办法将程序单击/焦点事件发送到表单,以便在焦点上设置自己的事件?
我vue.js昨天才开始编码,我不知道如何在没有使用"传统"JS方式的情况下"专注"文本框,就是这样document.getElementById('myTextBox').focus().
最初,我的文本框是隐藏的.我有一个"开始"按钮,当用户点击它时,会显示文本框,我想设置focus那里,可以这么说.我已经尝试过使用ref,但无济于事(见下面的代码).
HTML:
<input id="typeBox" ref="typeBox" placeholder="Type here..." />
Run Code Online (Sandbox Code Playgroud)
使用Javascript
export default {
name: 'game',
methods: {
startTimer () {
setTimeout(function () { /* .focus() won't work without this */
/* ugly and not recommended */
// document.getElementById('typeBox').focus()
/* Throws the error: Cannot read property 'typeBox' of undefined */
this.$refs.typeBox.focus()
// ... any other options?
// ...
}, 1)
}
} /* END methods */
} /* END export default */
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?请帮忙. …
我有一个基本的登录表单,它使用ajax登录用户.如果详细信息不正确,则会显示文本,显示登录失败.当显示最后一个文本框时,用户输入的文本将失去焦点.
在按提交/按下输入之前,是否可以将焦点设置到用户所在的最后一个文本框?
$('#login').click(function (e)
{
e.preventDefault();
$.ajax({
type: "POST",
dataType: "text",
url: "login.php",
data: "username=" + $("#username").val() + "&password=" + $("#password").val(),
cache: false,
success: function(reply)
{
if (reply.indexOf("Success") >= 0)
{
location.reload();
}
else
{
$("#loginResult").html("Login Failed");
//set focus here
}
}
});
Run Code Online (Sandbox Code Playgroud)
有任何建议,谢谢.
我有一个XtraGrid,里面有大约500行.我可以将FocusedRowHandle设置为第245行.但是,如果当前不可见,是否有一种方法可以将现在关注的行滚动到视图中?
DevExpress.XtraGrid.Views.Base.ColumnView vw;
vw = MyGrid.DefaultView as DevExpress.XtraGrid.Views.Base.ColumnView;
vw.FocusedRowHandle = 245;
Run Code Online (Sandbox Code Playgroud) 目前在我的应用程序中,无法取消选择文本框.唯一的方法是选择另一个文本框.我的用户和我同意点击表单上的任何其他位置都应该取消选择当前的文本框.我尝试在许多控件上覆盖MouseDown并将焦点设置为随机标签,但它不适用于某些控件,如MenuStrip或scrollbars.有任何想法吗?
我有两个TEdit控件.当我退出edit1时,edit2会收到焦点.在Edit1的OnExit事件中,我有以下代码:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
edit2.Enabled := false;
edit2.Enabled := true;
edit2.setfocus;
end;
Run Code Online (Sandbox Code Playgroud)
Edit2有焦点.但是,它没有任何关注.我可以开始输入,但它很混乱,因为我不知道哪个控件有焦点.
我更感兴趣的是Enabled属性的翻转会导致某些消息无法正常触发?例如,edit2的OnEnter事件未被触发.
如果重要的话,这是在D2006.
谢谢回复.
我正在WebBrowser使用VB.NET 2008 在一个控件中打开一个网站.在网站的第四页,我想通过以编程方式触发tab键来集中控件.我使用以下代码:
If adtxt.Text = "http://aojsl.com/dfassfeed2.php" Then
System.Windows.Forms.SendKeys.Send("{TAB}")
End If
Run Code Online (Sandbox Code Playgroud)
但是,我的代码无法触发Tab键.有谁知道如何使这项工作?
我正在创建视图并将这些视图添加到linearlayout,这些输入来自屏幕底部的edittext,就像一个消息应用程序.每当我按下"完成"按钮时,它会触发并将该消息添加到该消息linearlayout.
问题 :
当我想在这些消息之间放置adview时,例如每10条消息之间.Edittext失去焦点,导致整个布局向下滚动.
我想要的是 :
Edittext不应该失去焦点,每次它应该是活动的,等待键盘打开输入.
我尝试过但没有用的:
if (messageCounter % 10 == 0) {
LinearLayout advertisedMessageLayout = new LinearLayout(this);
advertisedMessageLayout.setOrientation(LinearLayout.VERTICAL);
advertisedMessageLayout.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
AdView av = new AdView(this, AdSize.BANNER, MBConstants.ADVIEW_ID);
//remove focus for every child of adview
for (int i = 0; i < av.getChildCount(); i++) {
av.getChildAt(i).setFocusable(false);
av.getChildAt(i).setFocusableInTouchMode(false);
av.getChildAt(i).setClickable(false);
}
av.setFocusable(false);
av.setFocusableInTouchMode(false);
av.setClickable(false);
av.setEnabled(false);
AdRequest request = new AdRequest();
av.loadAd(request);
advertisedMessageLayout.addView(messageRow);
advertisedMessageLayout.addView(av);
return advertisedMessageLayout;
}
Run Code Online (Sandbox Code Playgroud)
有没有可能的方法来阻止广告获得焦点并像普通视图一样行事?
谢谢.
我正在使用带有angular2的模板表单组件,我无法在提交表单后将焦点设置在我的firstName输入元素中.表单重新设置正常但无法设置焦点.
这是我的组件代码:
export class TemplateFormComponent {
@ViewChild('f') form: any;
onSubmit() {
if (this.form.valid) {
console.log("Form Submitted!");
this.form.reset();
this.form.controls.firstName.focus();
}
}
}
Run Code Online (Sandbox Code Playgroud)
和我的模板代码:
<form novalidate autocomplete="off" #f="ngForm" (ngSubmit)="onSubmit()">
<div class="form-group">
<label>First Name</label>
<input type="text"
class="form-control"
name="firstName"
[(ngModel)]="model.firstName"
required
#firstName="ngModel">
</div>
</form>
Run Code Online (Sandbox Code Playgroud) 我有一个由输入文本框,下拉菜单和提交按钮组成的Web表单.
当我在Android手机上使用我的网站 - Chrome浏览器(或我的Android设备上的任何浏览器,我在手机键盘上使用下一个导航到下一个字段.
我表单上的字段序列:
我的Android键盘上的下一个按钮可以正常导航从名字到姓氏.但是,当我在完成输入姓氏后选择下一个时,它会直接转到地址字段.它会跳过下拉字段.
tabbing在桌面和Apple设备上运行良好.这只是Android设备的一个问题.
我应该专门为Android浏览器做些什么吗?