自定义控件不显示问题
自定义属性
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="Bottom">
        <attr name="oneText" format="string"/>
        <attr name="twoText" format="string"/>
        <attr name="threeText" format="string"/>
        <attr name="oneTextSize" format="dimension"/>
        <attr name="twoTextSize" format="dimension"/>
        <attr name="ThreeTextSize" format="dimension"/>
        <attr name="oneTextColor" format="color"/>
         <attr name="twoTextColor" format="color"/>
          <attr name="ThreeTextColor" format="color"/>
        <attr name="oneImageIcon" format="reference|color"/>
        <attr name="twoImageIcon" format="reference|color"/>
        <attr name="threeImageIcon" format="reference|color"/>
        <attr name="backColor" format="color"/>

    </declare-styleable>
</resources>

引用

 <com.example.myappzdybottom.zdy.MyBottom
       android:layout_width="fill_parent"
       android:layout_height="200dp"
     mybottom:oneText="第一个"
       mybottom:twoText="第二个"
     mybottom:oneTextSize="8sp"
       mybottom:oneTextColor="#FFFFFF"
       mybottom:twoTextColor="#FF0000"
   ></com.example.myappzdybottom.zdy.MyBottom>

自定义view

 public class MyBottom extends RelativeLayout{

    //定义自定义属性对应的控件
    private TextView textview01,textview02,textview03;
    private ImageView imageview01,imageview02,imageview03;
    private String text01,text02,text03;
    private Drawable drawable01,drawable02,drawable03;
    private int textColor01,textColor02,textColor03,backColor;
    private float textSize;

    private LinearLayout ll01,ll02,ll03;



    public MyBottom(Context context, AttributeSet attrs) {
        super(context, attrs);

        //建立映射
        TypedArray obtainStyledAttributes = context.obtainStyledAttributes(attrs, R.styleable.Bottom);

        text01=obtainStyledAttributes.getString(R.styleable.Bottom_oneText);
        text02=obtainStyledAttributes.getString(R.styleable.Bottom_twoText);
        text03=obtainStyledAttributes.getString(R.styleable.Bottom_threeText);
        drawable01=obtainStyledAttributes.getDrawable(R.styleable.Bottom_oneImageIcon);
        drawable02=obtainStyledAttributes.getDrawable(R.styleable.Bottom_twoImageIcon);
        drawable03=obtainStyledAttributes.getDrawable(R.styleable.Bottom_threeImageIcon);
        textColor01=obtainStyledAttributes.getColor(R.styleable.Bottom_oneTextColor, 0);
        textColor02=obtainStyledAttributes.getColor(R.styleable.Bottom_twoTextColor, 0);
        textColor03=obtainStyledAttributes.getColor(R.styleable.Bottom_ThreeTextColor, 0);
        backColor=obtainStyledAttributes.getColor(R.styleable.Bottom_backColor, 0);
        textSize=obtainStyledAttributes.getDimension(R.styleable.Bottom_oneTextSize, 0);

        obtainStyledAttributes.recycle();

        //实例化控件
        textview01=new TextView(context);
        textview02=new TextView(context);
        textview03=new TextView(context);
        imageview01=new ImageView(context);
        imageview02=new ImageView(context);
        imageview03=new ImageView(context);

        textview01.setText(text01);
        textview02.setText(text02);
        textview03.setText(text03);

        textview01.setTextColor(textColor01);
        textview02.setTextColor(textColor01);
        textview03.setTextColor(textColor01);

        textview01.setTextSize(textSize);
        textview02.setTextSize(textSize);
        textview03.setTextSize(textSize);

        imageview01.setBackground(drawable01);
        imageview02.setBackground(drawable02);
        imageview03.setBackground(drawable03);



        LayoutParams llParams=new LayoutParams(80, LayoutParams.MATCH_PARENT );
        llParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, TRUE);

        LayoutParams llParams02=new LayoutParams(150, LayoutParams.MATCH_PARENT);
        llParams02.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, TRUE);

        ll01=new LinearLayout(context);
        ll02=new LinearLayout(context);
        ll03=new LinearLayout(context);

        ll01.setBackgroundColor(Color.BLACK);
        ll02.setBackgroundColor(Color.BLUE);



    /*  ll01.setOrientation(LinearLayout.VERTICAL);
        ll02.setOrientation(LinearLayout.VERTICAL);
        ll03.setOrientation(LinearLayout.VERTICAL);

        LayoutParams textParams=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        LayoutParams imageParams=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

        textview01.setGravity(Gravity.CENTER_HORIZONTAL);*/

        LayoutParams textParams=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        ll01.addView(textview01, textParams);
        //ll01.addView(imageview01, imageParams);
        ll02.addView(textview02,textParams);
        //ll02.addView(imageview02, imageParams);
        /*ll03.addView(textview03, imageParams);    
        ll03.addView(imageview03, imageParams);*/

        addView(ll01,llParams);
        addView(ll02,llParams02);


    }

想在父view中添加三个字view为LinearLayout 这个可以 但是在子view中在添加TextView 就不行了 TextView 就是不显示 找不到原因,也没报错,请大神指教!!! 万分感谢!!!!

4个回答

imageParams的问题,单次使用有效

imageParams的问题,单次使用有效

没有用imageParams 我有运行了一下

<com.example.myappzdybottom.zdy.MyBottom
android:layout_width="fill_parent"
android:layout_height="200dp"
mybottom:oneText="第一个"
mybottom:twoText="第二个"
mybottom:oneTextSize="8sp"
mybottom:oneTextColor="#FFFFFF"
mybottom:twoTextColor="#FF0000"

 中引用的属性的值  在自定义的view中打印为null   oneText打印为null   自定义属性的值好像不能在自定义view中引用过来  不知道为什么 

你调试的结果是什么?看下obtainStyledAttributes 的值

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android addview自定义控件不显示问题

为什么我在onCreat中addview一个自定义控件能够正常显示,但是在onWindowsFoucsChanged里面addview总是显示不出来

自定义控件的刷新事件问题

最近在做一个小项目,想在页面上显示上百台电脑。我就用c#写了一个Usercontrol,该自定义控件很简单,里面只有一个标签,作用是在主窗体读取 每条电脑记录时显示每台电脑的名字。同时,在该自定义控件的paint事件中,会读取每条电脑记录的状态字段。如果是正常的,就画绿色的边框,若是异常, 则画红色矩形框。现在的问题是,每条记录确实都创建了对应的自定义控件,该控件的piant事件也触发了,画框的语句也执行了,但就是没效果。这是为啥 呢??

zTree自定义控件选中问题

![图片说明](https://img-ask.csdn.net/upload/201601/21/1453339510_834959.png) 我打开了自定义控件,让鼠标悬停到菜单上时显示《添加菜单》和《删除》菜单按钮。 问题是:A 比我我选中了“菜单A”,然后鼠标移动到“菜单B”上面(但没有选中菜单B), 菜单B弹出自定义控件按钮, 我选择“菜单B”的《删除》按钮,结果删除的是被选中的菜单A,但我想删除菜单B。 请大牛帮忙指点一下。

关于自定义控件居中的问题

我写了一个自定义控件,可是不管怎么设置它都不能居中,始终在左上角的位置。。。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f00" > <com.example.gifdemo.MyGifView android:id="@+id/gv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout>

MFC 自定义控件显示问题【内附具体代码】

各位大神, 我自定义了一个ctrllist控件,写在了单文档的CView类OnInitialUpdate中,但是显示出来确实一个一个控件慢慢的出来,不知道怎么搞得?请帮忙 void CQCOMMultiDnloadFHLoaderView::OnInitialUpdate() { CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); /************************************************************************/ InitListCtrl(); FullListCtrl(); //[] strcpy(m_swVerPath, m_cfgData.swVerPath); for (int i=0; i<maxLoopNum; ++i) { m_nEnable[i] = m_cfgData.bEnable[i]; m_nComPort[i] = m_cfgData.nComPort[i]; m_pCheckEnable[i]->SetCheck(m_nEnable[i]); CString str; for (int j=3; j<=256; ++j) { str.Format(_T("COM%d"), j); m_pComboboxPort[i]->AddString(str); } CQCOMMultiDnloadFHLoaderView::set_DropDownHight(*m_pComboboxPort[i], 20); m_pComboboxPort[i]->SetCurSel(m_nComPort[i]-3); // first COM3 m_pComboboxPort[i]->EnableWindow(m_nEnable[i]); m_pEditTime[i]->SetWindowText("00m:00s"); //SendMessage(WM_US_INFOLOOP, lp, (LPARAM)"Ready"); SendMessage(WM_US_STATUS, i, m_nEnable[i] ? READY:DISENABLE); m_pButtonStart[i]->EnableWindow(m_nEnable[i]); } UpdateData(FALSE); } void CQCOMMultiDnloadFHLoaderView::InitListCtrl() { CRect rcListCtrl; CWnd* pRect = GetDlgItem(IDC_STATIC_RECT); if (NULL == pRect) { return; } pRect->GetWindowRect(&rcListCtrl); ScreenToClient(&rcListCtrl); m_cf = new CFont; m_cf->CreateFont(17,0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH,(LPCTSTR)("Verdana")); m_pListCtrl = new CListCtrlCustom(); m_pListCtrl->Create(WS_VISIBLE|WS_BORDER, rcListCtrl, this, IDC_LISTCTRL_RECT); DWORD dwExStyle = LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT;//|LVS_EX_FULLROWSELECT; m_pListCtrl->SetExtendedStyle(dwExStyle); m_pListCtrl->RegOnSettingRect(OnSettingRect); m_pListCtrl->SetRowHeight(25); m_pListCtrl->ShowWindow(SW_SHOW); m_pListCtrl->SetFont(m_cf); int col = -1; m_pListCtrl->InsertColumn(++col, _T("Loop"), LVCFMT_CENTER, 82); m_pListCtrl->InsertColumn(++col, _T("Port"), LVCFMT_CENTER, 85); m_pListCtrl->InsertColumn(++col, _T("Time"), LVCFMT_CENTER, 75); m_pListCtrl->InsertColumn(++col, _T("Info"), LVCFMT_CENTER, 267); m_pListCtrl->InsertColumn(++col, _T("Status"), LVCFMT_CENTER, 80); m_pListCtrl->InsertColumn(++col, _T("Run"), LVCFMT_CENTER, 60); m_pListCtrl->InsertColumn(++col, _T("Reset"), LVCFMT_CENTER, 60); m_pListCtrl->InsertColumn(++col, _T("Statistics"), LVCFMT_CENTER, 85); } void CQCOMMultiDnloadFHLoaderView::FullListCtrl() { int i; CString cc; CWnd* parWnd = 1 ? this:(CWnd*)m_pListCtrl; for (i=0; i<maxLoopNum; ++i) { // Loop cc.Format(_T("Loop[%d]"), i+1); m_pCheckEnable[i] = new CButton(); m_pCheckEnable[i]->Create((LPCTSTR)(cc), WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX, CRect(0, 0,80, 20), parWnd, m_nCtrlIDEnable[i]); // Port m_pComboboxPort[i] = new CComboBox(); m_pComboboxPort[i]->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|CBS_DROPDOWNLIST|WS_VSCROLL, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDPort[i]); // Time m_pEditTime[i] = new CEdit(); m_pEditTime[i]->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDTime[i]); // Info m_pEditInfo[i] = new CEdit(); m_pEditInfo[i]->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDInfo[i]); //Status //m_pStaticStatus[i] = new CXColorStatic(); // mark #if 0 //m_pStaticStatus[i] = new CXColorStatic(); // mark m_pStaticStatus[i]->Create(_T("Status"), WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_CENTER, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDStatus[i]); #else switch (i) { case 0: m_pStaticStatus[i] = &m_ctrlStatic1; break; case 1: m_pStaticStatus[i] = &m_ctrlStatic2; break; case 2: m_pStaticStatus[i] = &m_ctrlStatic3; break; case 3: m_pStaticStatus[i] = &m_ctrlStatic4; break; case 4: m_pStaticStatus[i] = &m_ctrlStatic5; break; case 5: m_pStaticStatus[i] = &m_ctrlStatic6; break; case 6: m_pStaticStatus[i] = &m_ctrlStatic7; break; case 7: m_pStaticStatus[i] = &m_ctrlStatic8; break; } #endif // Run m_pButtonStart[i] = new CButton(); m_pButtonStart[i]->Create(_T("Start"), WS_CHILD|WS_VISIBLE|WS_TABSTOP, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDStart[i]); // Reset m_pButtonReset[i] = new CButton(); m_pButtonReset[i]->Create(_T("Reset"), WS_CHILD|WS_VISIBLE|WS_TABSTOP, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDReset[i]); //Statistics m_pEditStatistics[i] = new CEdit(); m_pEditStatistics[i]->Create(WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY, CRect(0, 0, 80, 20), parWnd, m_nCtrlIDStatistics[i]); } //设置字体格式 for (i=0; i<maxLoopNum; ++i) { int col = -1; int rowCnt = m_pListCtrl->GetItemCount(); // rowCnt == i m_pListCtrl->InsertItem(rowCnt, _T("")); m_pCheckEnable[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pCheckEnable[i]); m_pComboboxPort[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pComboboxPort[i]); m_pEditTime[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pEditTime[i]); m_pEditInfo[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pEditInfo[i]); //m_pStaticStatus[i]->SetFont(m_cf); m_pStaticStatus[i]->SetBold(TRUE, TRUE); m_pStaticStatus[i]->SetFont(_T("Calibri"), 14, TRUE); m_pListCtrl->SetItemEx(i, ++col, m_pStaticStatus[i]); m_pButtonStart[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pButtonStart[i]); m_pButtonReset[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pButtonReset[i]); m_pEditStatistics[i]->SetFont(m_cf); m_pListCtrl->SetItemEx(i, ++col, m_pEditStatistics[i]); } //+ this->UpdateWindow(); }

Android自定义控件在ListView中不显示

在Android中定义了一个MyTextView extends View,在Activity中使用的时候,高度设置为wrapcontent可以正常显示,但是在Listview中高度设置为wrapcontent就会变成0,显示不出来我的View,需要固定高度为100dip等,这中问题可以解决吗.

Winform 自定义控件添加不到窗体

在Winform中自定义了一个控件 public partial class DecimalInput : TextBox { } 在“工具箱”中能看到, 但是不能添加到窗体,求大神帮帮忙

C# 如何将自定义控件添加到窗体?

最近想山寨一个下载软件,(下载中)任务列表想用自定义控件来实现,但不知道如何自定义一个任务列表控件(能在列表项中添加link,button,label等控件)。 最好能有C#自定义控件的电子书!谢谢!

C#需要做一个自定义控件

用C#做一个自定义控件,控件是一个两列的button按钮,在按钮增多的时候需要显示下拉框,怎么考虑思路呢?如下图所示![图片说明](https://img-ask.csdn.net/upload/201509/24/1443087792_861341.jpg)

WPF自定义控件样式设置后控件默认模板失效

创建了一个自定义控件,在使用的时候想设置一个Style控制一个界面内的所有该控件的样式,发现设置了样式之后控件的模板失效了,我可以理解为新设置的样式将该自定义控件的默认样式覆盖了所以读取不到模板。但是WPF本身的一些控件却不受此限制,比如buttn控件我可以设置style但是它本身的模板却没有失效。我想请问如何能做到这种效果。

使用QT5.9自定义控件时,为什么在QtCreator左侧里找不到自定义的控件,而QtDesigner里可以看到?

QT自定义控件完全是按照网上的教程来的,编译器用MSVC(或MinGW)编译成功后得到的dll、lib(或者.a文件)也按照网上的教程放在了正确的路径下,只能在QtDesigner的左侧控件栏里看到自定义的控件,就是在QtCreator里看不到。这重复跟着做好几遍了都是这样,有什么解决办法吗?

ANDROID自定义控件应用失败

我做了一个自定义的圆形进度条控件。单独在一个activity的时候就能正常显示,如果跟别控件一起使用程序就进不去,怎么回事?求大神指点

因为自定义控件里面写了事件,form里面再给自定义控件添加事件无效,怎么解决?

# 这是写在自定义控件的代码里面的 public void Commodity_Click(object sender, EventArgs e) { } ``` ``` # 这是写在form窗体的代码里面的 private void commodity_HotDishes1_Click(object sender, EventArgs e) ``` ``` 但是只有自定义控件里面的代码会执行,form里面同样的事件好像被覆盖了

wpf自定义控件报错,不支持直接内容

我用winform中添加wpf自定义控件,报错usercontrol不支持直接内容,新建wpf程序,报window不支持直接内容。。这是什么原因?

[Android界面] 新手求助:自定义控件重复显示问题

定义了一个倒计时的控件,初始显示为“开始”,点击后从10开始倒计时,一直到0。可是在控件上会额外显示一个文本,如下图 ![图片说明](https://img-ask.csdn.net/upload/201611/28/1480338890_452955.png) 额外显示的文本也会在点击开始后倒计时,找了好久一直没发现问题所在。所以请教一下各位大神。 其中自定义控件代码如下: ``` public class CustomView_A7 extends TextView{ private Paint paint = new Paint(); private Rect rect = new Rect(); private int mBackgroundColor= ContextCompat.getColor(getContext(), R.color.colorPrimary); private int mTextColor = Color.WHITE; public CustomView_A7(Context context) { super(context); } public CustomView_A7(Context context, AttributeSet attrs) { super(context, attrs); } public CustomView_A7(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } protected void onDraw(Canvas canvas) { super.onDraw(canvas); //画圆 paint.setColor(mBackgroundColor); canvas.drawCircle(getWidth()/2, getWidth()/2, getWidth()/2, paint); //画数字 paint.setColor(mTextColor); paint.setTextSize(240); String text = (String)this.getText(); paint.getTextBounds(text, 0, text.length(), rect); int textWidth = rect.width(); int textHeight = rect.height(); canvas.drawText(text, getWidth()/2 - textWidth/2, getWidth()/2 + textHeight/2, paint); } } ``` Layout中只有一个自定义控件: ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <com.example.administrator.androidstudyapp.CustomView_A7 android:layout_width="240dp" android:layout_height="240dp" android:layout_gravity="center" android:layout_margin="@dimen/activity_vertical_margin" android:id="@+id/customView_A7"/> </LinearLayout> ``` 难道是Activity中的问题吗,还麻烦各位帮帮忙: ``` public class Point_A7_Activity extends AppCompatActivity{ private CustomView_A7 mCustomViewA7; private int value = 10000; //10秒 Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what){ case 8888: int value = (int) msg.obj; mCustomViewA7.setText(String.valueOf(value/1000f)); if(value > 0){ Message message = handler.obtainMessage(); message.arg1 = 1; message.arg2 = 2; message.what = 8888; message.obj = value - 100; sendMessageDelayed(message, 100); } break; } } }; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_point_a7); mCustomViewA7 = (CustomView_A7) findViewById(R.id.customView_A7); mCustomViewA7.setText("开始"); mCustomViewA7.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Message message = handler.obtainMessage(); //不要使用Message message = new Message(); message.arg1 = 1; message.arg2 = 2; message.what = 8888; message.obj = value ; handler.sendMessageDelayed(message, 100); } }); } } ```

用C#语言在VisualStudio中自定义控件时,如何在设计器窗口下实时看到预览效果(图形效果)?

我尝试了以下.NET支持的几种用户自己定义控件的方式: 1、从UserControl类继承(复合控件); 2、从现有控件继承(扩展控件); 3、从Control类继承(自定义控件) 网上的帖子、视频、文档等资料找了一堆,但是有个问题一直没有找到答案,很是困惑,望路过我问题的高手不吝赐教。 问题是这样的: 我用第1种方法从UserControl类继承定义了一个控件,在工程中双击我建立的这个控件的.cs文件,出现的设计器窗口中会有控件当前的图形效果显示出来,像图1中这样![图1 继承自UserControl的控件](https://img-ask.csdn.net/upload/201804/20/1524225864_564543.png) 但是,当我用方法2从.NET现有的控件继承并扩展控件时,我双击相应的.cs文件,设计器窗口中并未出现图1中那样的图形效果(预览效果?),如图2所示![图2 继承自.NET现有控件Button](https://img-ask.csdn.net/upload/201804/20/1524226655_303023.png) 同样,采用方法3直接从Control类继承,完全自己写控件,设计器窗口中也未出现“预览效果”,如图3所示![图片说明](https://img-ask.csdn.net/upload/201804/20/1524226803_818027.png) 请问,在用方法2、方法3定义控件时,如何让设计器窗口可以显示控件的图形外观? 或者说 “UserControl控件”是如何做到在设计器窗口中实时显示图形的?

C#自定义控件构造函数内内启动线程导致控件添加即运行线程

如题,用C#写的自定义控件在构造函数内启动线程或Timer等循环会导致控件添加到程序即启动(程序没有运行); 需求是需要一个控件循环监视一个对象并把监视结果以颜色显示; 控件一添加即运行感觉很怪也不合理,不知如何等到程序运行再启动控件内循环?![图片说明](https://img-ask.csdn.net/upload/201901/09/1546998572_713051.png)

C# Winform 自定义控件 TabControl的疑难问题

想继承TabPage控件,实现该控件的绘图操作,并将新的TabPage(自定义部分),添加到TabControl中去。 先微软的TabControl控件可以添加,TabPage控件,但是继承于TabPage的控件,TabControl是不识别的。请问有什么办法既能自定义TabPage控件又能使用原有的TabControl控件的功能

C# WinForm 自定义控件,怎样在设计时动态增加按钮并在设计时点击响应函数?

现在想开发一个导航菜单,思路为: 1、自定义控件增加智能标签; 2、智能标签中增加新增菜单组的命令; 3、使用时,自定义控件拖到设计窗口中,点击增加菜单组后自动生成一个按钮和一个Panel; 4、自动生成的按钮,可以在设计时点击响应函数,对生成的面板隐藏或展开。 目前遇到的情况: 1、在设计时生成按钮后,调用自定义控件中的创造按钮函数,可以生成按钮,并能点击响应相应的函数。 2、但在主程序运行时,设计时生成的按钮根本就没有。 3、创建按钮的函数代码如下: Button btn = new Button(); btn.Text = "SSS"; btn.Dock = DockStyle.Top; this.Controls.Add(btn); 4、在代码中加入: this.Container.Add(btn)可以在运行时显示增加的按钮,但在设计时,按钮没有动作,应用到窗口时,也需要重写响应函数。 本人C#新手一枚,请各位大侠指点一下,有什么办法能够让代码生成的按钮,在设计时和运行时都能显示按钮,并在两种情况下都响应设定好的响应函数?谢谢!

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

2020_五一数学建模_C题_整理后的数据.zip

该数据是我的程序读取的数据,仅供参考,问题的解决方案:https://blog.csdn.net/qq_41228463/article/details/105993051

R语言入门基础

本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据处理的基本思路和方法。 课程能够帮助初学者快速入门数据处理。 课程通过大量的案例详细地介绍了如何使用R语言进行数据分析和处理 课程操作实际案例教学,通过编写代码演示R语言的基本使用方法和技巧

人才招聘系统PHP+MySQL源码

PHP 5.0及以上 + MySQL 5.0及以上 开发的人才招聘系统完全可运行源码,按照操作说明简单配置即可运行。学习PHPWEB应用的完整系统程序源码。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

python可视化分析(matplotlib、seaborn、ggplot2)

python可视化分析总结(matplotlib、seaborn、ggplot)一、matplotlib库1、基本绘图命令3、图形参数设置4、特殊统计图的绘制4.1 数学函数图4.2 气泡图4.1 三维曲面图二、seaborn库1、常用统计图1.1 箱线图1.2 小提琴图1.3 点图1.4 条图与计数图1.5 分组图1.6 概率分布图2、联合图3、配对图三、ggplot库1、图层画法+常用图形2、快速绘图 一、matplotlib库 1、基本绘图命令 import matplotlib.pyplot as

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用

人工智能-计算机视觉实战之路(必备算法+深度学习+项目实战)

系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

【大总结2】大学两年,写了这篇几十万字的干货总结

本文十天后设置为粉丝可见,喜欢的提前关注 不要白嫖请点赞 不要白嫖请点赞 不要白嫖请点赞 文中提到的书我都有电子版,可以评论邮箱发给你。 文中提到的书我都有电子版,可以评论邮箱发给你。 文中提到的书我都有电子版,可以评论邮箱发给你。 本篇文章应该算是Java后端开发技术栈的,但是大部分是基础知识,所以我觉得对任何方向都是有用的。 1、数据结构 数据结构是计算机存储、...

lena全身原图(非256*256版本,而是全身原图)

lena全身原图(非256*256版本,而是全身原图) lena原图很有意思,我们通常所用的256*256图片是在lena原图上截取了头部部分的256*256正方形得到的. 原图是花花公子杂志上的一个

【项目实战】 图书信息管理系统(Maven,mybatis)(第一个自己独立完成的项目)

《程序设计综合训练实践报告》 此项目为图书信息管理系统,是一个采用了mysql+mybatis框架+java编写的maven项目

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python入门视频精讲

Python入门视频培训课程以通俗易懂的方式讲解Python核心技术,Python基础,Python入门。适合初学者的教程,让你少走弯路! 课程内容包括:1.Python简介和安装 、2.第一个Python程序、PyCharm的使用 、3.Python基础、4.函数、5.高级特性、6.面向对象、7.模块、8.异常处理和IO操作、9.访问数据库MySQL。教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

20行代码教你用python给证件照换底色

20行代码教你用python给证件照换底色

2018年全国大学生计算机技能应用大赛决赛 大题

2018年全国大学生计算机技能应用大赛决赛大题,程序填空和程序设计(侵删)

MySQL数据库从入门到实战应用

限时福利1:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利2:购课后添加学习助手(微信号:csdn590),按消息提示即可领取编程大礼包! 为什么说每一个程序员都应该学习MySQL? 根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。 使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。 学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能! 【课程设计】 在本课程中,刘运强老师会结合自己十多年来对MySQL的心得体会,通过课程给你分享一条高效的MySQL入门捷径,让学员少走弯路,彻底搞懂MySQL。 本课程包含3大模块:&nbsp; 一、基础篇: 主要以最新的MySQL8.0安装为例帮助学员解决安装与配置MySQL的问题,并对MySQL8.0的新特性做一定介绍,为后续的课程展开做好环境部署。 二、SQL语言篇: 本篇主要讲解SQL语言的四大部分数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL,学会熟练对库表进行增删改查等必备技能。 三、MySQL进阶篇: 本篇可以帮助学员更加高效的管理线上的MySQL数据库;具备MySQL的日常运维能力,语句调优、备份恢复等思路。 &nbsp;

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

Eclipse archetype-catalog.xml

Eclipse Maven 创建Web 项目报错 Could not resolve archetype org.apache.maven.archetypes:maven-archetype-web

使用TensorFlow+keras快速构建图像分类模型

课程分为两条主线: 1&nbsp;从Tensorflow的基础知识开始,全面介绍Tensorflow和Keras相关内容。通过大量实战,掌握Tensorflow和Keras经常用到的各种建模方式,参数优化方法,自定义参数和模型的手段,以及对训练结果评估与分析的技巧。 2&nbsp;从机器学习基础算法开始,然后进入到图像分类领域,使用MNIST手写数据集和CIFAR10图像数据集,从简单神经网络到深度神经网络,再到卷积神经网络,最终完成复杂模型:残差网络的搭建。完成这条主线,学员将可以自如地使用机器学习的手段来达到图像分类的目的。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

最近面试Java后端开发的感受:如果就以平时项目经验来面试,通过估计很难,不信你来看看

在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面的。 我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,但面试官总是只根据面试情况来判断。 但现实情况是,大多数人可能面试前没准备,或准备方法不得当。要知道,我们平时干活更偏重于业务,不可能大量接触到算法,数据结构,底层代码这类面试必问

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

微信小程序开发实战之番茄时钟开发

微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

相关热词 c#分级显示数据 c# 不区分大小写替换 c#中调用就java c#正则表达式 验证小数 c# vscode 配置 c#三维数组能存多少数据 c# 新建excel c#多个文本框 c#怎么创建tcp通讯 c# mvc 电子病例
立即提问