标签: controls

覆盖ComboBox的DrawItem

我更改了各种控件的突出显示颜色,并计划进行更多更改。因此,我最好创建自己的控件并重用它们,而不是为每个控件进行更改。

我创建了一个新的用户控件,并继承自System.Windows.Forms.ComboBox。问题是我找不到onDraw像我那样的方法来覆盖onClick

那么我将如何去覆盖它呢?这是我用于每个控制onDraw事件的代码

public void comboMasterUsers_DrawItem(object sender, DrawItemEventArgs e)
    {
        e.DrawBackground();

        Graphics g = e.Graphics;
        Brush brush = ((e.State & DrawItemState.Selected) == DrawItemState.Selected) ?
                      Brushes.LightSeaGreen : new SolidBrush(e.BackColor);

        g.FillRectangle(brush, e.Bounds);
        e.Graphics.DrawString(comboMasterUsers.Items[e.Index].ToString(), e.Font,
                 new SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault);

        e.DrawFocusRectangle();
    }
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# inheritance controls combobox ondraw

0
推荐指数
1
解决办法
6925
查看次数

如何在C#中添加控件功能?

如何使一个函数有1个参数接收控件的类型(如Button,GroupBox,Panel,TextBox,Label ...等)

private void CreateControl()
{
   Button myButton=new Button();
   this.Controls.Add(myButton);
}
Run Code Online (Sandbox Code Playgroud)

我需要设置一个参数来控制控件的类型而不是一个按钮.

请帮忙

c# controls function

0
推荐指数
1
解决办法
53
查看次数

如何获得对话框中控件的宽度 - 高度

我创建了一个带有一些控件的对话框 -

IDD_DIALOG_EFFECTS DIALOGEX 0, 0, 168, 49
STYLE DS_SETFONT | WS_CHILD
FONT 8, "MS Sans Serif", 400, 0, 0x1
BEGIN
    ---           ---
    ---           ---
    CTEXT           "",3,200,120,60,60, WS_VISIBLE
END
Run Code Online (Sandbox Code Playgroud)

在Header中 - 文件:const int16 kItem = 3;

现在,当我试图获得控件的位置和尺寸时,它并不准确.

// Retrieving the location and dimension of the control
RECT    wRect_proxy;
GetWindowRect(GetDlgItem(hDlg, kItem), &wRect_proxy);
ScreenToClient (hDlg, (LPPOINT)&wRect_proxy);
ScreenToClient (hDlg, (LPPOINT)&(wRect_proxy.right));

// Output of the control as location and position that I am getting is:
wRect_proxy.left:   300     (Expected: 200)
wRect_proxy.top:    195     (Expected: 120)
wRect_proxy.right: …
Run Code Online (Sandbox Code Playgroud)

height winapi controls get width

0
推荐指数
1
解决办法
89
查看次数

在 Delphi 控件中编辑数据并更新其底层数据集

在 embarcadero docwiki 中,它说:

在除 TDBGrid 之外的所有数据控件中,当您修改字段时,当您从控件中按 Tab 键时,修改将复制到基础数据集。如果在从字段中使用 Tab 键之前​​按 Esc 键,数据控件将放弃修改,并且该字段的值将恢复为进行任何修改之前的值。在 Vcl.DBGrids.TDBGrid 中,当您移动到不同的记录时会发布修改

我正在使用 TDBGrid(以及其他数据控件),我发现他的更新行为非常不自然。我希望在用户点击“ENTER”时进行更新,而不仅仅是当用户“移动到不同的记录”或“控件中的 Tab”时。

我的问题是我怎么能改变这个?有任何想法吗?

先感谢您。

delphi controls editing dataset tdbgrid

0
推荐指数
1
解决办法
1976
查看次数

动态图层名称 - 传单层控制

我希望Leaflets 图层控件功能使用的图层名称来自变量而不是字符串,并且基于图层中的数据.

下面显示的示例使用变量layerName.这是否可能,因为它期待一个名称值对?有工作吗?

var layerName = feature.properties.condition[0];

//layer control
var baseMaps = {
    "OpenStreetMap": OSM,
    "Aerial Imagery": MapQuestOpen_Aerial
};

var overlayMaps = {
    layerName: layer1,

};

L.control.layers(baseMaps, overlayMaps).addTo(map);
Run Code Online (Sandbox Code Playgroud)

javascript controls layer leaflet

0
推荐指数
1
解决办法
827
查看次数

Python - 以非正统方式迭代数组

我有一个非常奇怪的问题,到目前为止我还没有找到答案我在python中有一个数组:

array = [1, 2, 3, 4, 5, 6, 7, 8]
Run Code Online (Sandbox Code Playgroud)

迭代这个我想拉2个元素并跳过2,所以结果是:

result = [1, 2, 5, 6]
Run Code Online (Sandbox Code Playgroud)

怎么可以这样做?如果不做一个可怕的hackjob,我想不出一个好的方法.

python arrays controls

0
推荐指数
1
解决办法
66
查看次数

无法控制 - 拖入ViewController.swift

我试图控制 - 将故事板中的对象拖到ViewController.swift中,但没有任何工作.我试过滑块,按钮,开关,采摘器,一切.我需要快速完成这个应用程序,所以请帮忙!

xcode controls drag ios swift

0
推荐指数
1
解决办法
1921
查看次数

自定义分段控件还是..?

Twitter的屏幕截图

有推特的截图

我想要在Swift 4中使用这种分段控制。我已经研究了Apple Documents,但是找不到一些我需要的东西,例如删除边框,删除cornerRadius等。如何自定义分段控制(如Twitter的)?还是有其他选项卡/段解决方案?谢谢。

controls ios swift

0
推荐指数
1
解决办法
1615
查看次数

如何在FOR EACH CONTROL循环中排除某些控件?

所以我有一个简洁的小功能,我用它来确保只能在GroupBox中检查一个复选框.

这就是它的样子......

Private Sub ToggleCheckBoxOnEntry(sender As Object, e As EventArgs)
    'This handles mutually exclusivity for the check boxes so that only one is ever allowed to be checked 
    Static CurrentlySelectedbox As CheckBox

    If CType(sender, CheckBox).Checked Then
        CurrentlySelectedbox = sender
    End If

    For Each cntrl As CheckBox In gbxReports.Controls
        If cntrl.Checked AndAlso cntrl.Name <> CurrentlySelectedbox.Name Then
            cntrl.Checked = False
        End If
    Next

End Sub    
Run Code Online (Sandbox Code Playgroud)

对于每个checkBox_CheckChanged我都包含这一行......

Private Sub chkReports_CheckedChanged(sender As Object, e As EventArgs)

    ToggleCheckBoxOnEntry(sender, e)

End Sub
Run Code Online (Sandbox Code Playgroud)

所以我有这个看起来很棒的组合框,大约有10个报告,而且效果很好.当我尝试为其中一个提取包含一个组合框时,我会让用户从下拉列表中选择一些内容并将其用作参数.我不想将它包含在GroupBox之外(除非没有办法解决我的问题),但是,如果我将其包含在其中,我会收到错误..

无法将类型为"System.Windows.Forms.ComboBox"的对象强制转换为"System.Windows.Forms.CheckBox".

有没有办法让我从循环中排除一些控件,比如

For …
Run Code Online (Sandbox Code Playgroud)

vb.net controls

0
推荐指数
1
解决办法
110
查看次数

如何在Userform上使用带有选项按钮控件的事件

我正在尝试从Excel工作表中的范围添加选项按钮.

For Each Value In OptionList

    Set opt = UserForm3.Controls.Add("Forms.OptionButton.1", "radioBtn" & i, True)
    opt.Caption = Value
    opt.Top = opt.Height * i
    opt.GroupName = "Options"

    UserForm3.Width = opt.Width
    UserForm3.Height = opt.Height * (i + 2)

    i = i + 1

Next
Run Code Online (Sandbox Code Playgroud)

我想创建一个事件处理程序,以便radiobtn1在从用户运行代码时选择if .虽然我得到了很多答案,但这些是用于工作表用户表单的.

我的目的是处理VBA用户表单.请帮我解决一下你的想法.

excel controls vba excel-vba

0
推荐指数
1
解决办法
3066
查看次数