因此,我正在开发一个应用程序WinForms
,并将数据从Access数据库填充到Combobox
。填充后,我将使用Combobox
中的项目在我的标签上显示数据。这是我有数据填充:根据C中的长度更改标签文本行#
public void AutoCompleteBrand()
{
OleDbConnection con = new OleDbConnection(cs.DBConn);
con.Open();
adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(@"SELECT DISTINCT RTRIM(Phone) FROM tblPhone", con);
ds = new DataSet("ds");
adapter.Fill(ds);
dtable = ds.Tables[0];
cmbPhone.Items.Clear();
foreach (DataRow drow in dtable.Rows)
{
cmbPhone.Items.Add(drow[0].ToString());
}
}
Combobox
选择的指数的事件里面
然后,我将使用这个代码:
private void cmbPhone_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
OleDbConnection con = new OleDbConnection(cs.DBConn);
con.Open();
cmd = new OleDbCommand(@"SELECT DISTINCT
Brand, Phone, Tecnology
FROM tblPhone", con);
OleDbDataAdapter mAdapter = new OleDbDataAdapter(cmd);
DataSet mDataSet = new DataSet();
OleDbDataReader mReader;
mReader = cmd.ExecuteReader();
while (mReader.Read())
{
string sBrand = mReader.GetString(0);
string sPhone = mReader.GetString(1);
string sTec = mReader.GetString(2);
lblBrand.Text = sBrand;
lblPhone.Text = sPhone;
lblTec.Text = sTec;
}
}
catch (Exception ex)
{
MessageBox.Show("Erro\nDetalhes: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
基本上技术标签太大,当它到达的长度变化线。这是可行的吗?
您是否尝试设置标签的AutoSize属性? – Digvijay
将它设置为false并根据我想要的尺寸来确定它的大小? – Rekcs
啊..那么你可以使用System.Drawing.Graphics命名空间中的MeasureString来达到这个目的。您可以得到该字符串在屏幕上的宽度,并相应地设置标签宽度。 – Digvijay