按下选项卡并单击按钮时按钮周围的烦人边框

时间:2019-06-02 10:29:58

标签: c# winforms

按下Tab键并单击按钮时,我会得到一个非常烦人的边框

我尝试过

<!DOCTYPE html>
<html>

<head>
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
  <link href="https://cdn.rawgit.com/mdehoog/Semantic-UI/6e6d051d47b598ebab05857545f242caf2b4b48c/dist/semantic.min.css" rel="stylesheet" type="text/css" />
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <script src="https://cdn.rawgit.com/mdehoog/Semantic-UI/6e6d051d47b598ebab05857545f242caf2b4b48c/dist/semantic.min.js"></script>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>


  <script src="script.js"></script>
</head>

<body ng-app="App" ng-controller="AppController">
  <h3>Date only</h3>
  <div class="ui calendar" id="example2">
    <div class="ui input left icon">
      <i class="calendar icon"></i>
      <input type="text" placeholder="Date" ng-model="datevalue">
    </div>
  </div>
  <br/>
  <button ng-click="getDate()">Submit</button>
</body>

</html>

我还尝试在Keydown上添加一个事件,并且不允许按下Tab键,但到目前为止没有任何效果。

enter image description here

这是边界不断弹出的示例

2 个答案:

答案 0 :(得分:0)

通过生成自己的按钮类并编辑designer.cs文件来修复

答案 1 :(得分:0)

如果您不想使用自定义按钮,则可以在完成后将焦点移到另一个控件上,这将阻止显示矩形。您可以将虚拟控件放在视线之外,然后将焦点移到该控件上。

    private void btnDoSomething_Click(object sender, EventArgs e)
    {
        myDummyControl.Focus();

        MessageBox.Show("This still executes even though we have lost focus");

        // If you are decoupling your code from the UI, this becomes second nature quickly as it becomes part of your control handling.
    }

此外,您还可以阻止控件通过设置TabStop属性tp false来使Tab焦点集中,在按钮Paint事件中执行此操作。

如果有很多按钮,则可以将它们指向同一事件处理程序(On_Paint)。

    private void On_Paint(object sender, PaintEventArgs e)
    {
        Button thisButton = sender as Button;
        thisButton.TabStop = false;
    }