私は車両を保存するアプリを構築しています。車両の種類 (車、トラック、バス) ごとに個々のフォームをロードするためのボタンが付いたメイン フォームがあり、それらはすべて車両クラスからメイン プロパティを継承しています。また、すべての車両をフリートに追加できるように、「フリート」クラスもあります。
最初の作業車を手に入れることができましたが、2番目の(トラック)車に苦労しています。ボタンをクリックするとトラックフォームがロードされ、txtボックスにデータを入力できますが、「閉じる」ボタンをクリックするとフォームでは何も起こりません!アプリを閉じると、「NotImplementedExecption was unhandled」というメッセージが表示されます
何かアイデアはありますか?何が欠けていますか?事前に乾杯....
public partial class FrmHireCo : Form
/*
* This is the main form for the car hire system.
* It allows the adding to new cars to the system, and displaying them in the fleet list
*
*/
{
private Fleet myFleet = new Fleet();
//Fleet object used to store cars
public FrmHireCo()
{
//Default constructor
InitializeComponent();
}
private void updateFleetList()
{
lstFleet.Items.Clear();
foreach (Vehicle v in myFleet.fleet)
{
lstFleet.Items.Add(v);
}
}
private void btnAddCar_Click(object sender, EventArgs e)
{
//Add a new car
FrmCar carGui = new FrmCar(); //Form used to add new car
carGui.ShowDialog();
Car myCar = carGui.car; //Get new car from form
myFleet.addToFleet(myCar); //Add to fleet list
updateFleetList(); //Uodate fleet list
}
private void lstFleet_SelectedIndexChanged(object sender, EventArgs e)
{
/*
* This method is used to control the list box
* It is called when a row is selected by the user, it then displays frmCar
* with the car details
*/
if (lstFleet.SelectedIndex > -1)
{
int index = lstFleet.SelectedIndex;
Car myCar = myFleet.fleet.ElementAt(index);
FrmCar carGui = new FrmCar();
carGui.car = myCar;
carGui.Show();
}
}
private void FrmHireCo_Load(object sender, EventArgs e)
{
}
private void btnAddTruck_Click(object sender, EventArgs e)
{
FrmTruck truckGui = new FrmTruck(); //Form used to add new car
truckGui.ShowDialog();
Truck myTruck = truckGui.truck; //Get new car from form
myFleet.addToFleet(myTruck); //Add to fleet list
updateFleetList(); //Uodate fleet list
}
}
} }
これは、トラック フォームなどをロードするためのボタンを備えたメイン フォームです。これがフリート クラスです。本当にばかげたものを見逃していると思います!
class Fleet
{
/*
* This class is used to hold a list of Car objects that make up the fleet:
* The car objects may be added through the addToFleet() method.
* The car objects may be deleted tgrough the deleteFromFleet() method
* Use the fleet property to access the list of car objects
*/
private List<Vehicle> theFleet = new List<Vehicle>(); //The list of car objects being stored
public List<Vehicle> fleet
/* The fleet property. Note that you can only read it
* use the addToFleet and deleteFromFleet to update it
*/
{
get
{
return theFleet;
}
}
public void deleteFromFleet(Vehicle aVehicle)
//Delete car from fleet
{
theFleet.Remove(aVehicle);
}
public void addToFleet(Vehicle aVehicle)
//Add car to fleet
{
theFleet.Add(aVehicle);
}
internal void addToFleet(Truck myTruck)
{
throw new NotImplementedException();
}
}
}
これは、「NotImplementedException was unhandled.
internal void addToFleet(Truck myTruck)
{
throw new NotImplementedException();
}
}
}