日期:2014-05-18  浏览次数:20882 次

新手问题,只有100分了
新手问题,部分代码如下:我要在Form2用labal显示接收到的电话号码,可以吗?怎么做?
protected override void DefWndProc(ref Message m)
  {
  switch (m.Msg)
  {
  case BriSDKLib.BRI_EVENT_MESSAGE:
  { 
  BriSDKLib.TBriEvent_Data EventData = (BriSDKLib.TBriEvent_Data)Marshal.PtrToStructure(m.LParam, typeof(BriSDKLib.TBriEvent_Data));
  string strValue = "";
  switch (EventData.lEventType)
  {
  case BriSDKLib.BriEvent_GetCallID:
  {
  string cid = FromASCIIByteArray(EventData.szData);
  strValue = "通道" + (EventData.uChannelID + 1).ToString() + ":接收到来电号码 " +cid;
   
  Form2 f1 = new Form2(this);
  f1.Show();
  } break;
  default: break;
  }
   
   
  }break;
  default:
  base.DefWndProc(ref m);
  break;
  }
  }

------解决方案--------------------
form2的lable1的modifers属性设置为public,然后
Form2 f1 = new Form2(this);
f1.lable1.Text = "xxxxx";
或者采用其他方式,参考
http://topic.csdn.net/u/20120710/14/c88a8f3c-c096-4f93-a0ee-b82b810ebd9d.html
------解决方案--------------------
Form2 f1 = new Form2(this);
f1.Show();

在这个地址,有两个方法可以做到,一是在Form2的构造函数里直接把字符串传入,然后显示在它的Label上,二是给Form2添加一个属性,比如字符串类型,在属性的Set方法里设置到Label上,也可以直接把Label做成Public的直接访问。比如:

Form2 f1 = new Form2(this, strInfo);
f1.Show();

Form2 f1 = new Form2(this);
f1.customProperty=xxx;
f1.Show();