C# winform动态添加控件获取值问题

C# winform动态添加控件获取值问题,第1张

if

(c

is

Label||c

is

RadioButton)

{

string

Str

=

((Label)c)Text;

string

Stt

=

((RadioButton)c)Text;

listAdd(Str);

listAdd(Stt);

}

这是有问题啊,得分别判断是label还是RadioButton

然后再添加到list中。而且一次只能循环一个控件也不能一次就能把两中同时都能添加进去啊

应该这样改吧,你参考一下:

if

(c

is

Label)

{

string

Str

=

((Label)c)Text;

listAdd(Stt);

}

if

(c

is

RadioButton)

{

string

Stt

=

((RadioButton)c)Text;

listAdd(Str);

}

你在用户控件类中增加一个公用调用接口就可以!如: public partial class UserControl1 : UserControl

{

public UserControl1()

{

InitializeComponent();

}

public DateTime Value

{

get

{

return dateTimePicker1Value;

}

set

{

dateTimePicker1Value = value;

}

}

} 在Winform调用可以采用userControl11Value形式就可以访问了!

POSITION pos = m_clistctrl GetFirstSelectedItemPosition();

if(pos!=NULL)

{

int Item = m_clistctrl GetNextSelectedItem(pos);

CString listval= m_clistctrl GetItemText(Item,1);

}

注意GetItemText()的用法,获取第几列,在后面输入数字是几。

C++怎样获得CTabCtrl标签/CListCtrl列标头的文字

char itemName[50];

memset(itemName,0,50);

CITEM tcItem;

tcItemmask = TCIF_TEXT;

tcItempszText = itemName;

tcItemcchTextMax = 50;

//遍历所有的标签

int iCounts = m_tabCtrlGetItemCount();

for (int ii=0;ii<iCounts;ii++)  

{

m_tabCtrlGetItem(ii,&tcItem);

if (tcItempszText == sCarID)

{

m_tabCtrlSetCurSel(ii);  //如果有某一个标签的标题等于sCarID,那么就把该标签设置为当前页。

}

}

获取CListCtrl列标头文字

在OnItemclickList1的响应函数中

HD_NOTIFY phdn = (HD_NOTIFY ) pNMHDR;

// TODO: Add your control notification handler code here

char itemName[50]; 

    memset(itemName,0,50);

LVCOLUMN lvcolumn;

lvcolumnmask = LVCF_TEXT;

lvcolumnpszText = itemName;

lvcolumncchTextMax = 50;

m_listGetColumn(phdn->iItem,&lvcolumn);

方法如下:

新建了一个NM_Click消息响应函数,用

hParent

=

m_TreeCtrlGetSelectedItem();

m_TreeCtrlGetItemText(hParent);

获取当前选中的文本,但获取的竟然是前一次点击的文本,而非当前点击的文本,请问这是问什么?怎样才能正确获取当前点击的文本?

用OnSelectChanged获得的方法,是有缺陷的,例如两次都点同一个项,那么就不能执行了

解决方法:

DWORD

dwpos

=

GetMessagePos();

TVHITTESTINFO

ht

=

{0};

htptx

=

GET_X_LPARAM(dwpos);

htpty

=

GET_Y_LPARAM(dwpos);

::MapWindowPoints(HWND_DESKTOP,pNMHDR->hwndFrom,&htpt,1);

//把屏幕坐标转换成控件坐标

TreeView_HitTest(pNMHDR->hwndFrom,&ht);

//确定点击的是哪一项

strOpcServerName

=

m_OpcServerListGetItemText(hthItem);

以上就是关于C# winform动态添加控件获取值问题全部的内容,包括:C# winform动态添加控件获取值问题、winform怎么获取用户控件中的子控件的值、clistctrl 怎样单击行并且获得被点行的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9279932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存