我更改了各种控件的突出显示颜色,并计划进行更多更改。因此,我最好创建自己的控件并重用它们,而不是为每个控件进行更改。
我创建了一个新的用户控件,并继承自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)
谢谢!
如何使一个函数有1个参数接收控件的类型(如Button,GroupBox,Panel,TextBox,Label ...等)
private void CreateControl()
{
Button myButton=new Button();
this.Controls.Add(myButton);
}
Run Code Online (Sandbox Code Playgroud)
我需要设置一个参数来控制控件的类型而不是一个按钮.
请帮忙
我创建了一个带有一些控件的对话框 -
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) 在 embarcadero docwiki 中,它说:
在除 TDBGrid 之外的所有数据控件中,当您修改字段时,当您从控件中按 Tab 键时,修改将复制到基础数据集。如果在从字段中使用 Tab 键之前按 Esc 键,数据控件将放弃修改,并且该字段的值将恢复为进行任何修改之前的值。在 Vcl.DBGrids.TDBGrid 中,当您移动到不同的记录时会发布修改
我正在使用 TDBGrid(以及其他数据控件),我发现他的更新行为非常不自然。我希望在用户点击“ENTER”时进行更新,而不仅仅是当用户“移动到不同的记录”或“控件中的 Tab”时。
我的问题是我怎么能改变这个?有任何想法吗?
先感谢您。
我希望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) 我有一个非常奇怪的问题,到目前为止我还没有找到答案我在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,我想不出一个好的方法.
我试图控制 - 将故事板中的对象拖到ViewController.swift中,但没有任何工作.我试过滑块,按钮,开关,采摘器,一切.我需要快速完成这个应用程序,所以请帮忙!
Twitter的屏幕截图
我想要在Swift 4中使用这种分段控制。我已经研究了Apple Documents,但是找不到一些我需要的东西,例如删除边框,删除cornerRadius等。如何自定义分段控制(如Twitter的)?还是有其他选项卡/段解决方案?谢谢。
所以我有一个简洁的小功能,我用它来确保只能在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) 我正在尝试从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用户表单.请帮我解决一下你的想法.