2013-11-23 91 views
0

我學習C#,但是當我試圖使用控制檯代碼在窗體應用程序上做參考時,錯誤找不到類型或名稱空間名稱'TidPunkt' (是否缺少using指令或程序集引用?)C#控制檯參考在Windows窗體應用程序項目中的使用

發帖參考下面的代碼,則Desinger.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class TidPunkt 
    { 
     int tim, min, sek; 
     bool VisaSek = true; 

     public void Sätt(int t, int m, int s) 
     { 
      if (t >= 0 && t < 24 && m >= 0 && m < 60 && s >= 0 && s < 60) 
      { 
       tim = t; min = m; sek = s; 
      } 
      else 
       Console.WriteLine("Felaktig tidpunkt"); 
      } 
     } 

     public void SättVisaSek(bool visa) 
     { 
      VisaSek = visa; 
     } 

     public int AvLäsTim() 
     { 
      return tim; 
     } 

     public int AvläsMin() 
     { 
      return min; 
     } 

     public int AvläsSek() 
     { 
      return sek; 
     } 

     public void Ticka() 
     { 
      if (++sek == 60) 
      { 
       sek = 0; ++min; 
      } 
      if (min == 60) 
      { 
       min = 0; ++tim; 
      } 
      if (tim == 24) 
      { 
       tim = 0; 
      } 
     } 

     public override string ToString() 
     { 
      string tid = tim + ":" + min; 
      if (VisaSek) 
       tid = tid + ":" + sek; 
      return tid; 
     } 
    } 
} 

那基準碼。張貼「Klockvisare.cs」代碼。

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public partial class Klockvisare : Form 
    { 
     TidPunkt tp = new TidPunkt(); 

     public Klockvisare() 
     { 
      InitializeComponent(); 
      DateTime dt = DateTime.Now; 
      tp.Sätt(dt.Hour, dt.Minute, dt.Second); 
      a.Text = tp.ToString(); 
     } 

     private void timer1_Tick(object sender, EventArgs e) 
     { 
      tp.Ticka(); 
      a.Text = tp.ToString(); 
     } 
    } 
} 
+0

有人編輯了你的問題來清理你的源代碼的縮進。我無法制作原創的正面或反面。如果你確保你的帖子看起來不錯,你將會在未來得到社區更好的迴應。歡迎來到stackoverflow。 – Steve

回答

0
  1. 要確保您的組件在第二個項目中引用。

  2. class TidPunkt

  3. 添加public添加到您的第二個文件

    using ConsoleApplication1; 
    

無論如何,你應該創建一個Class Library項目,並將有你的第一個文件的邏輯(不Console.WriteLine) 。然後,您創建另一個項目,比如說像您一樣的WinForm,然後將前一個程序集添加爲參考。在導入適當的名稱空間之後,您可以使用類庫的類型。

+0

這些文件在不同的程序集中?如果是這樣,請首先添加對組件 – 2013-11-23 21:51:34

+0

的引用,以及如何添加引用? – user3024531

+0

如果您有兩個項目的解決方案,請轉到第二個項目,您將看到有一個參考文件「文件夾」。點擊「添加引用...」,選擇「項目」選項卡,應該有第一個項目的程序集。 – 2013-11-23 22:18:17

0

您必須將您的ConsoleApplication1引用添加到您的winforms應用程序。如果它在另一個解決方案中,則必須將ConsoleApplication1 dll添加到引用(右鍵單擊引用,然後瀏覽dll)。如果它在相同的解決方案中,則必須再次右鍵單擊引用,選擇解決方案選項,然後選擇ConsoleApplication1。之後,您可以使用「CTRL」+「。」。 TidPunkt類和Visual Studio上的組合將爲您找到正確的名稱空間。

2

class TidPunkt更改爲public class TidPunkt

+0

,沒有工作,雖然欣賞它。 – user3024531

+0

你有沒有像Tomek建議的那樣把'使用ConsoleApplication1;'放在一起? – MagnatLU

相關問題