minh la newbile dag bat dau tim hieu ngon ngu c#.
lam on cho minh hoi muon hien chi so dong trong visual studio 2005 duoc khong! cam on YinYang nhieu nhe!
Chào bạn, để hiển thị số dòng trong VC# 2005, bạn vào menu Tool>Options. TRong hộp thoại Options hiện ra, hãy chắc chắn là hộp kiểm Show all settings được chọn (phía dưới cùng bên trái).
Tại cây bên trái bạn tìm đến mục Text Editor > C#. Phần General bên phải hiện ra, bạn hãy chú ý mục Display và đánh dấu chọn vào Line numbers.
Chào bạn. Bạn cho mình hỏi là: giờ mình muốn viết một chương trình nghe nhạc bằng ngôn ngữ C#, nhưng không biết làm sao để tuỷ biến các skin cho nó đẹp hơn. Mình đang làm đồ án, nên rất mong sự giúp đõ của các bạn.
Chào bạn. Các chương trình hiện nay để thay đổi giao diện đơn giản người ta thường dùng các bộ control riêng chẳng hạn như DotNetBar (http://www.devcomponents.com/). Một số bộ công cụ chuyên dùng để tạo skin cho các ứng dụng trên nhiều ngôn ngữ khác nhau tuy nhiên hầu hết đều có phí như tại appface, một số thư viện cũng khá nổi tiếng là devExpress và IrisSkin:
Tuy nhiên nếu sử dụng .Net 3.5, bạn có thể sử dụng công nghệ WPF để tự thiết kế giao diện cho chương trình của mình
Đối với các chương trình giao diện tùy biến như Windows Media Player, thông thường lập trình viên sử dụng sẵn các hình ảnh nền để làm giao diện với bất kì hình dạng form nào họ mong muốn. Bạn có thể dùng sẵn hình ảnh để tạo các control như button, checkBox, tuy nhiên cũng có thể dùng GDI để tạo một số hiệu ứng đặc biệt.
Chúc thành công!
Trước hết xin xin lỗi vì làm phiền bạn.
Hiện tại,mình đang cố gắng viết 1 app nhỏ với ngôn ngữ csharp.Trong đó mình cần đoạn code làm cho máy tính TỰ KHỞI ĐỘNG đúng giờ theo thời cài sẵn,mình có ý tưởng này vì vô tình biết một số ứng dụng “hẹn giờ khởi động máy tính”.Mình đã rất cố gắng tìm kiếm tài liệu cho việc này nhưng vô vọng.Và cũng vô tình mình biết đc blog của bạn,mình cũng đã download khá nhiều tips của bạn.Mình thật sự rất rất muốn viết ứng dụng này.Mình mong đc sự giúp đỡ của bạn!Bạn giúp đỡ mình nhé!Cảm ơn bạn rất nhiều!
email: vmhung89@gmail.com
HIện tại tôi chưa từng làm qua chương trình nào có chức năng đánh thức Windows như bạn cần, việc này có thể thực hiện bằng cách thiết lập một vài thông số trong Bios tuy nhiên chưa rõ C# có hỗ trợ hay không?
Ở đây tôi có thể cung cấp đoạn mã minh họa để đánh thức Windows khi ở trạng thái stand by hoặc Hibernate, điều này có nghĩa là bạn phải mở sẵn chương trình của mình rồi gọi hàm. Chương trình của bạn sẽ chờ một khoảng thời gian do bạn thiết lập và đánh thức Windows từ trạng thái chờ. Ở đây bạn cần import vào 2 hàm API để sử dụng cho chức năng này:
[DllImport("kernel32.dll")]
public static extern SafeWaitHandle CreateWaitableTimer(IntPtr lpTimerAttributes, bool bManualReset, string lpTimerName);
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetWaitableTimer(SafeWaitHandle hTimer, [In] ref long pDueTime, int lPeriod, IntPtr pfnCompletionRoutine, IntPtr lpArgToCompletionRoutine, bool fResume);
Hàm đánh thức Windows từ trạng thái stand by hoặc Hibernate (bạn có thể tìm thấy một số đoạn mã tương tự trên các trang về C#):
internal void WakeUpPC()
{
DateTime time = DateTime.Now.AddHours(1);
long duetime = time.ToFileTime();
if (SetWaitableTimer(handle, ref duetime, 0, IntPtr.Zero, IntPtr.Zero, true))
{
using (EventWaitHandle wh = new EventWaitHandle(false, EventResetMode.AutoReset))
{
wh.SafeWaitHandle = handle;
wh.WaitOne();
}
}
else
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
}
Bạn có thể thấy là tôi chọn khoảng thời gian 1 tiếng sau khi gọi hàm ( DateTime.Now.AddHours(1)để thiết lập thời gian chờ. Vì là làm việc với mã không được quản lý bởi .Net (unmanaged code) nên nếu có bất kì ngoại lệ nào xảy ra, hàm này sẽ lấy lỗi thông qua phương thức GetLastWin32Error(), nên khi sử dụng hàm này nếu bạn là người cẩn thận thì có thể đặt nó vào khối try catch.
Cảm ơn bạn,mình đã thử code lại và thấy kết quả như ý muốn,mình rất vui,cảm ơn bạn rất nhiều,blog này là 1 sân chơi rất bổ ích,chúc bạn luôn vui và trang blog này ngày càng phát triển!
Huynh ơi em hỏi 1 vấn đề về mang controls, Huynh giúp đệ nhé:
đệ tạo 1 mãng button, khi đắng ký event cho mãng (event click) đệ chạy ct và cick vào buton 1 thì ko sao click tiếp vào button 2 báo lỗi. đệ đang làm game giống trúc xanh click vào button để hiện ảnh lót phía dưới, rồi so sánh 2 ảnh lót dưới 2 button vừa click. Huynh giúp đệ với nhé.
Cảm ơn nhiều!
Chào bạn, bạn có thể cho mình coi đoạn code bạn thêm event cho các button không? Có lẽ trong bài bạn sử dụng mảng button, để thêm sự kiện click cho các button thì bạn sử dụng vòng lặp như sau:
Button[] btnPieces = new Button[10];
for (int i = 0; i < btnPieces.Length; i++)
{
btnPieces[i] = new Button();
btnPieces[i].Name = "Button" + i;
btnPieces[i].Text = btnPieces[i].Name;
flowLayoutPanel1.Controls.Add(btnPieces[i]);
}
foreach (Button btn in btnPieces)
{
btn.Click += Button_Click;
}
Yang oi giúp mình làm bài này được không vậy? mốt(2/12) mình kiểm tra rồi 😦
bài 1:Viết chương trình đếm số lần xuất hiện các ký tự trong 1 chuỗi.
bài 2:viết chương trình đếm số từ trong 1 chuỗi.
Nếu bạn làm được gửi thẳng zo mail cho mình nha
thank ban nhìu
Rất tiếc là mình không thể giúp bạn những bài tập này, đây là những bài tập rất căn bản mà có lẽ bạn nên tự mình làm hoặc có thể trao đổi cùng những bạn khác để làm. Ở đây mình cũng gợi ý một chút là bạn chỉ cần dùng vòng lặp là làm được cho cả 2 bài
em muốn hỏi YinYang’s là!! có thể lấy nhiều ảnh ngẫu nhiên trong một folder hok? và mỗi ảnh được lập lại hai lần trong form. Cách làm như thế nào, anh có thể hướng dẫn được hok ạ!!
Về câu hỏi đầu tiên của bạn thì đáp án là được, bạn chỉ cần đặt tên file ảnh kèm theo chỉ số thứ tự rồi dùng random. việc lặp lại ảnh mấy lần trong form cũng chẳng có gì khác nhau, câu hỏi thứ 2 này mình chưa hiểu rõ lắm, bạn có thể giải thích kĩ hơn không?
Yinyang ơi giúp em phân tích đề tài này nha;
viết chương trình thực hiện các phép tính số học trên những số nguyên lớn (cộng ,trừ .nhân ,chia(lấy nguyên và lấy dư)).mỗi số nguyên nên được lưu bằng 1 danh sách móc nối đôi.chương trình phải cho phép người dùng chọn nhập vào các số nguyên lớn bằng bàn phím hoặc qua file đầu vào .chương trình phải hỗ trợ in kết quả ra màn hình và ra file .thuật toán nhân và chia không nên được thực hiện bằng cách lặp lại các phép toán cộng hoặc trừ).
lưu ý;chương trình bắt buộc phải sử dụng giao diện đồ họa,được phép sử dụng các thư viện để xây dựng giao diện cho chương trình.hết
xin hỏi:
1.phải sử dụng giao diện đồ họa thì nên cài đặt trên c++,hay C# thì dễ hơn.
2.bắt buộc phải sử dụng DSLK hả(DSLK Đơn ,kép hay vòng).sử dụng mảng hoặc stack có được ko?
3.các thuật toán để tính những số nguyên lớn là như thế nào vậy.
em có làm 1 cái demo math bằng c# giống như trên mạng.nhưng chỉ đúng với những số nguyên nhỏ thôi.nhập vào 1 dãy các số lớn thì chương trình báo lỗi số quá lớn.
Yinyang có thể hướng đẫn cho em được ko(làm 1 cái DEMO chỉ 1 phép toán cũng được rồi)hoặc cho em những từ khóa có liên quan để em search)
cảm ơn.
Chào bạn những vấn đề này bạn có thể tham gia diễn đàn như congdongcviet.com để tham gia thảo luận sẽ tốt hơn. Mình cũng trả lời các câu hỏi của bạn nhưng sẽ không có thời gian hướng dẫn cho bạn được. Các bài giải về vấn đề này trên mạng cũng có khá nhiều, bạn có thể search và tham khảo.
1. Còn tùy thuộc bạn dùng phiên bản C++ nào, nếu bạn chọn các ngôn ngữ trong bộ Visual Studio như VC++, VC# thì sẽ dễ dàng hơn nhiều so với việc phải sử dụng các thư viện đồ họa trong Ansi C++.
2. Đề bài của bạn yêu cầu làm bằng double linked list (liên kết đôi) để linh hoạt hơn trong việc truy xuất phần tử (ko ai dùng liên kết vòng cả). Sử dụng mảng thì ko thể thay đổi số phần tử được, stack thì chỉ nên áp dụng trong những trường hợp đặc biệt, trong trường hợp này thì nó còn kém linh hoạt hơn liên kết đơn.
3. Để tính toán trên các số nguyên lớn bạn lặp qua từng phần tử trong danh sách liên kết (mỗi phần tử là 1 chữ số), rồi thực hiện tương tự như cách làm tính hồi học tiểu học, dĩ nhiên khi viết bằng code thì sẽ phức tạp hơn so với làm tính.
Bạn có thể tìm kiếm với từ khóa sau “big number operation algorithm”
Chưa hiểu rõ ý của bạn nhưng để xác định vị trí thì bạn chỉ cần lưu vào biến hoặc hằng thôi. Còn để đổi lượt thì chỉ đơn giản là dùng 1 biến đếm tăng từ 1->4 chẳng hạn, rồi từ 4->1.
a oi, a co the day cho e ve C,C++,C# hok a?. E rat muon’ hoc, nhung k co ai day e ca, khi e mun hoi thi k co ai co the tl cho e. hoc o truong thi chan lam a oi huhu, thay thi cu day, k wtam toi hs, ban be thi k co khong khj hoc. Vay lam sao e co the hoc dc huhu. mong a jup do e !. mong a tl e !!!!!!!!!!!!!
àh cho mình hỏi nếu lấy dữ liệu từ database qua câu lệnh SQL. Nhưng mình muốn lấy số lượng dòng quy định vd là 50 dòng. Mình thấy bên web dùng theo dạng list[] . Mình vẫn chưa bik cách hoạt động của dạng list này Nếu đc bạn cho mình vd send wa mail mình cũng đc willclinton1989@gmail.com. Thanks bạn ^^
Nếu đúng như là list[] mà bạn nói thì đó chỉ có thể là mảng bạn add thủ công vào sau ghi lấy dữ liệu. Có lẽ đó là List, đây là 1 generic collection, thường thì tài liệu .Net nào cũng có nói tới, bạn chỉ cần lên search là sẽ ra thôi.
ghé vào xem “nhà thơ của lòng e”(^.^)làm ăn thế nào viết toàn cái gì người ta không hiểu gì hết, haizzzz………..chúc thành công nhé…………………………………À quên, ghé xem cái your diary để xem con làm thơ ko, mà nó đòi pass,hic hic……..
Chào Y2!
E đang làm bài tập về thuật toán tô màu..
Code thì đã xong!
Nhưng cho e hỏi cách để hiển thị đồ thị trên winform, với đầu vào là n đỉnh, và ma trận kề của đồ thị.
Cám ơn a trước nha!
Anh cho em hỏi về giải thuật 1 game swap balls
Ví dụ : có 3 bi xanh đặt cách 3 bi đỏ 1 ô trống. Làm thế nào để 2 loại bi đổi chỗ cho nhau vẫn qua 1 ô trống với ít bước di chuyển nhất. Các viên bi có thể di chuyển sang ô trống hoặc nhảy qua 1 ô để đến ô trống. Cảm ơn anh nhiều
Bài toán của bạn có thể được biểu diễn dưới dạng 1 dãy số như:
1110222
Với các nước đi có thể thực hiện là thay đổi vị trí của các số đứng cạnh nhau. Sử dụng thuật toán A* và 1 hàm heuristic đơn giản bạn có thể tìm được nước đi ngắn nhất cho bài toán.
chào anh,
Em có 1 bài tập programming hiện tại em ko biết làm. Em mong các anh chị có thể giúp đỡ em! em ko có bài này để nộp chắc em rớt nữa quá.
Nội dung của bài giong nhu o bài post này :https://yinyangit.wordpress.com/2011/04/16/algorithm-%E2%80%93-minh-h%E1%BB%8Da-tim-d%C6%B0%E1%BB%9Dng-di-ng%E1%BA%AFn-nh%E1%BA%A5t-v%E1%BB%9Bi-breadth-first-search-trong-c/
Đầu tiên mình phải mở file graph ra, sau do chuong trinh sẽ vẽ file này thành TREE. Rồi từ tree mình sẽ chọn 1 trong 3 cach SEARCH (depth-first, breadth-first hoac beam search) de tim duong dẫn nhanh nhất. Điểm bắt đầu và kết thúc là do user chọn.
Mong thành khẩn mong các anh chị giúp em vượt qua bài này với 😦
Cám ơn mọi người.!!!!
Cảm ơn anh Yin Yang!!!!
Vấn đề của bạn có thể tham khảo một số ví dụ về DFS và BFS, còn phần file graph bạn vẫn chưa nói rõ nó được định dạng hoặc cấu trúc thế nào. Bạn có thể tìm chương trình minh họa Y2 Visual Graph trên blog này để tham khảo cách lưu graph.
Thân!
Em da tham khao thu Y2 visual graph of anh roi. Bai of em cung tuong tu nhu vay! nhung fai tim kiem duong ngan nhat bang 3 cach khac nhau!! DFS , BFS, va Beam search.
File graph of em dinh dang la .txt va dai khai giong nhu the nay:
sa 3
sb 7
sd 4
ac 2
ad 1
bd 2
be 4
dg 13
eg 3
Dua nao file nay, minh se chon From va To (do user tuy chon).
Public Shared Sub Xuat(ByVal bang As DataTable, ByVal khung As FlowLayoutPanel, ByVal loai_the_hien As String, ByVal cot_the_hien As String)
Hàm này dùng xuất các dòng của một bảng “bang” vào một FlowLayoutPanel “khung”
Trong đó tham số “cot_the_hien” là chuỗi chứa tên loại Control xuất lên khung, ví dụ: TextBox, CheckBox, Button,…
Khi chạy hàm sẽ xuất lên khung các dòng của bang với loại control tương ứng với tham số “loai_the_hien”
Ví dụ:
Xuat(bang, khung, “Label”,”Ten”)
—> Xuất lên khung các label tương ứng từng dòng của bảng
Xuat(bang, khung, “Button”,”Ten”)
—> Xuất lên khung các Button tương ứng từng dòng của bảng
Xuat(bang, khung, “RadioButton”,”Ten”)
—> Xuất lên khung các radiobutton tương ứng từng dòng của bảng
Mình viết như sau:
Public Shared Sub Xuat(ByVal bang As DataTable, ByVal khung As FlowLayoutPanel, ByVal loai_the_hien As String, ByVal cot_the_hien As String)
For Each dong In bang.Rows
‘Ví dụ: ở đây là tạo danh sách các Label
Dim th As New Label ‘vấn đề: thay vì tạo kiểu Label ta có thể tạo kiêu theo tham số “‘oai_the_hien’ được không?
th.Text = dong(“Ten”)
khung.Controls.Add(th)
th.Tag = dong
Next
End Sub
Như vầy: giả sử mình có CSDL QuanLyHocSinh.mdb trong CSDL này có bảng HOC_SINH(Ho_ten, Ngay_sinh, Gioi_tinh,…).
Mình dùng OleDbDataAdapter để đọc và Fill bảng HOC_SINH vào một DataTable tên là bangHocSinh
=> Bây giờ mình muốn kết xuất bangHocSinh vào một Control nào đó và hiển thị lên màn hình cho người sử dụng xem. Ví dụ: kết xuất vào DataGridView, ListView, TreeView,…
=> Vấn đề: mình muốn kết xuất bangHocSinh ra các Control như Label, Button, Checkbox… các Control này sẽ nằm trong 1 FlowLayoutPanel, tương ứng với mỗi dòng trong bangHocSinh sẽ là một Label hoặc Button, hoặc một Control nào đó.
=> Để tiện dụng mình muốn viết hàm “Xuat” như trên, trong đó Loai_the_hien là tên của loại Control mình muốn dùng để xuất ra. Ví dụ : muốn xuất ra mỗi học sinh là một Button thì mình dùng tham số “Button”
Cụ thể hơn, bạn có thể vui lòng download bài làm của mình để xem. http://www.mediafire.com/?nf11aork1daed1n
Cám ơn bạn trước nha!
Tất nhiên mình hiểu cách bạn muốn load table lên FlowLayoutPanel, nhưng trong comment trước bạn dùng cot_the_hien và loai_the_hien không rõ ràng. Vậy bạn có thể nêu vướng mắc của bạn ở chỗ nào, mình có thể giúp nếu được.
Chào bạn YinYang, mình muốn hỏi về cách lập trình để chụp hình 1 trang web. Giả sử trang web cần chụp lại là yinyangit.wordpress.com. Làm thế nào để wrap (bọc nguyên trang web) và chụp lại, sao đó để người sử dụng download về. (Thay vì nhấn nút PrintScreen của windows để chụp hình, mình dùng chức năng này trên web, để trang web tự động xuất ra image luôn). Ở đây trang web xài ngôn ngữ C#, asp.net và không sử dụng Flash hay silverlight.
Ý 2:
Mình muốn viết thử 1 ứng dụng chụp hình chạy được trên tablet. Vì tablet chạy nhiều nền tảng nên không dùng Flash. Trên tablet, nghe người ta dùng nhiều đến PhoneGap, YinYang có tìm hiểu chưa? Vì trên tablet, trình duyệt bị hạn chế sử dụng thiết bị phần cứng. Vấn đề đặt ra là làm sao viết được ứng dụng chạy được trên nhiều hệ điều hành iOS, Android, Symbian….
Cảm ơn bạn trước.
Ah, bổ sung, mình có thử viết chương trình bằng eclipse, sử dụng PhoneGap, nó gần tương tự như lập trình web. có 1 điều là trình giả lập Android không kết nối được với Camera.
Ah, cho mình hỏi xíu về 1 vấn đề: Định hướng của YinYang là hướng dẫn mọi người về lập trình C#, mức cơ bản đến trung bình. Nhưng mình thấy tốc độ thay đổi và ra công nghệ mới ngày càng nhiều. Bạn có ý định viết nhiều bài về các công nghệ khác không?
Lĩnh vực multimedia hình như bạn chưa từng giới thiệu qua. Hi vọng trong tương lai, bạn sẽ giới thiệu về cách Flash hoặc silverligtht (vì đó là 1 mảng công nghệ mà sinh viên cần phải nắm để sau này làm việc).
Về lập trình iPhone, tablet thì mình ko rành cũng ko có điều kiện học. Nếu có thời gian học mình sẽ giới thiệu các chủ đề mà bạn nói. Tuy nhiên mình học những thứ mình thấy cần chứ không phải học nhiều thứ để viết. Vấn đề duy nhất mà mình gặp phải có lẽ là điều kiện vật chất và thiết bị nên bị hạn chế nhiều thứ. Cảm ơn bạn đã quan tâm!
Mình găp 1 vấn đề bên WPF. Khi tạo 1 checkbox là RememberMe, mình dùng DataBinding mode là TwoWay, thì lần đầu khi load Form, checkbox chưa được chọn. Khi mình click vào, thì dấu checkbox vẫn không được chọn (???). Từ lần này trở đi thì mình click, nó đều chọn chính xác.
Chào anh, trong C#, em có vẽ một số hình 2D (chu nhat, tron, …), em cần redraw liên tục.. nhưng mỗi khi redraw là màn hình cứ chớp nháy, làm sao để khắc phục được ạ
Bạn có thể thêm đoạn mã sau vào constructor của form hoặc control,..:
// Set the control style to double buffer.
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, false);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
Chào YinYang tớ đang làm một chương trình về máy tính cầm tay như của windows. Tớ có một thắc mắc thế này mà chưa biết xử lí sao. Trong chương trình calculator khi phát sinh các phép toán không hợp lệ như chia cho 0 hay là lấy căn của số nhỏ hơn 0 … thì chương trình sẽ hiện ra thông báo về lỗi. Lúc này ngoại trừ hai nút CE và C bấm vào button nào cũng không có tác dụng. T cũng muốn làm cho chương trình của tớ như vậy mà vẫn chưa nghĩ ra cách làm. Bạn có ý tưởng giúp mình không?
Nếu bạn bắt được các lỗi đó thì chỉ cần disable/enable các button cần thiết thôi. Để làm đơn giản thì còn tùy thuộc vào cách bạn thiết kế giao diện ra sao nữa. Bạn có thể nêu rõ hơn vấn đề của bạn nếu như vẫn chưa giải quyết được.
Chào Yin Yang, hiện tại mình đang làm 1 cái đồ án nhỏ về vẽ đồ thị bằng c#. Mình đã tham khảo project của cậu, mình muốn vẽ cái ma trận (customcontrol) ở trên form. Mỗi lần mình vẽ đỉnh hay xóa đỉnh thì ma trận đó sẽ vẽ theo. Mình phải làm sao để mỗi lần mình vẽ nó sẽ cập nhật bên ma trận. Mong cậu giúp đỡ mình. Cám ơn cậu.
Bạn có thể bắt các sự kiện chuột trên Form hoặc Control và thêm vào ma trận. Nếu bạn vẽ được thì không có lý do gì không gọi được phương thức thêm vào ma trận.
Cám ơn câu trả lời của bạn,mình vẫn chưa vẽ được ma trận. Ý mình hỏi là làm sao truyền số đỉnh khi mình thêm hay xóa đỉnh để ma trận tự cập nhật và vẽ. Cái ma trận control của mình được gắn ở trên form ,còn của cậu cái ma trận sẽ được gọi khi vẽ đỉnh đồ thị. Cám ơn cậu.
Bạn nói thế thì mình không biết làm sao để giúp. Bởi vì tất cả những vấn đề này thuộc lập trình cơ bản rồi nên phải tùy trường hợp cụ thể mới có thể xem cách giải quyết thế nào là tốt. Bạn có thể đưa 1 phần code lên đây ko?
Cảm ơn YinYang’s blog đã chia sẻ kinh nghiệm nghiên cứu học tập cho mọi người cùng tham khảo . Hy vọng những bài viết sẽ giúp mình rất nhiều .
minh la newbile dag bat dau tim hieu ngon ngu c#.
lam on cho minh hoi muon hien chi so dong trong visual studio 2005 duoc khong! cam on YinYang nhieu nhe!
Chào bạn, để hiển thị số dòng trong VC# 2005, bạn vào menu Tool>Options. TRong hộp thoại Options hiện ra, hãy chắc chắn là hộp kiểm Show all settings được chọn (phía dưới cùng bên trái).
Tại cây bên trái bạn tìm đến mục Text Editor > C#. Phần General bên phải hiện ra, bạn hãy chú ý mục Display và đánh dấu chọn vào Line numbers.
Chào bạn. Bạn cho mình hỏi là: giờ mình muốn viết một chương trình nghe nhạc bằng ngôn ngữ C#, nhưng không biết làm sao để tuỷ biến các skin cho nó đẹp hơn. Mình đang làm đồ án, nên rất mong sự giúp đõ của các bạn.
Chào bạn. Các chương trình hiện nay để thay đổi giao diện đơn giản người ta thường dùng các bộ control riêng chẳng hạn như DotNetBar (http://www.devcomponents.com/). Một số bộ công cụ chuyên dùng để tạo skin cho các ứng dụng trên nhiều ngôn ngữ khác nhau tuy nhiên hầu hết đều có phí như tại appface, một số thư viện cũng khá nổi tiếng là devExpress và IrisSkin:
http://www.appface.com/eng/skinnable-library.htm,
http://www.devexpress.com/
http://www.sunisoft.com/irisskin/
Tuy nhiên nếu sử dụng .Net 3.5, bạn có thể sử dụng công nghệ WPF để tự thiết kế giao diện cho chương trình của mình
Đối với các chương trình giao diện tùy biến như Windows Media Player, thông thường lập trình viên sử dụng sẵn các hình ảnh nền để làm giao diện với bất kì hình dạng form nào họ mong muốn. Bạn có thể dùng sẵn hình ảnh để tạo các control như button, checkBox, tuy nhiên cũng có thể dùng GDI để tạo một số hiệu ứng đặc biệt.
Chúc thành công!
Trước hết xin xin lỗi vì làm phiền bạn.
Hiện tại,mình đang cố gắng viết 1 app nhỏ với ngôn ngữ csharp.Trong đó mình cần đoạn code làm cho máy tính TỰ KHỞI ĐỘNG đúng giờ theo thời cài sẵn,mình có ý tưởng này vì vô tình biết một số ứng dụng “hẹn giờ khởi động máy tính”.Mình đã rất cố gắng tìm kiếm tài liệu cho việc này nhưng vô vọng.Và cũng vô tình mình biết đc blog của bạn,mình cũng đã download khá nhiều tips của bạn.Mình thật sự rất rất muốn viết ứng dụng này.Mình mong đc sự giúp đỡ của bạn!Bạn giúp đỡ mình nhé!Cảm ơn bạn rất nhiều!
email: vmhung89@gmail.com
HIện tại tôi chưa từng làm qua chương trình nào có chức năng đánh thức Windows như bạn cần, việc này có thể thực hiện bằng cách thiết lập một vài thông số trong Bios tuy nhiên chưa rõ C# có hỗ trợ hay không?
Ở đây tôi có thể cung cấp đoạn mã minh họa để đánh thức Windows khi ở trạng thái stand by hoặc Hibernate, điều này có nghĩa là bạn phải mở sẵn chương trình của mình rồi gọi hàm. Chương trình của bạn sẽ chờ một khoảng thời gian do bạn thiết lập và đánh thức Windows từ trạng thái chờ. Ở đây bạn cần import vào 2 hàm API để sử dụng cho chức năng này:
[DllImport("kernel32.dll")]
public static extern SafeWaitHandle CreateWaitableTimer(IntPtr lpTimerAttributes, bool bManualReset, string lpTimerName);
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetWaitableTimer(SafeWaitHandle hTimer, [In] ref long pDueTime, int lPeriod, IntPtr pfnCompletionRoutine, IntPtr lpArgToCompletionRoutine, bool fResume);
Hàm đánh thức Windows từ trạng thái stand by hoặc Hibernate (bạn có thể tìm thấy một số đoạn mã tương tự trên các trang về C#):
internal void WakeUpPC()
{
DateTime time = DateTime.Now.AddHours(1);
long duetime = time.ToFileTime();
SafeWaitHandle handle = CreateWaitableTimer(IntPtr.Zero, true, "MyWaitabletimer");
if (SetWaitableTimer(handle, ref duetime, 0, IntPtr.Zero, IntPtr.Zero, true))
{
using (EventWaitHandle wh = new EventWaitHandle(false, EventResetMode.AutoReset))
{
wh.SafeWaitHandle = handle;
wh.WaitOne();
}
}
else
{
throw new Win32Exception(Marshal.GetLastWin32Error());
}
}
Bạn có thể thấy là tôi chọn khoảng thời gian 1 tiếng sau khi gọi hàm ( DateTime.Now.AddHours(1)để thiết lập thời gian chờ. Vì là làm việc với mã không được quản lý bởi .Net (unmanaged code) nên nếu có bất kì ngoại lệ nào xảy ra, hàm này sẽ lấy lỗi thông qua phương thức GetLastWin32Error(), nên khi sử dụng hàm này nếu bạn là người cẩn thận thì có thể đặt nó vào khối try catch.
Cảm ơn bạn,mình đã thử code lại và thấy kết quả như ý muốn,mình rất vui,cảm ơn bạn rất nhiều,blog này là 1 sân chơi rất bổ ích,chúc bạn luôn vui và trang blog này ngày càng phát triển!
Huynh ơi em hỏi 1 vấn đề về mang controls, Huynh giúp đệ nhé:
đệ tạo 1 mãng button, khi đắng ký event cho mãng (event click) đệ chạy ct và cick vào buton 1 thì ko sao click tiếp vào button 2 báo lỗi. đệ đang làm game giống trúc xanh click vào button để hiện ảnh lót phía dưới, rồi so sánh 2 ảnh lót dưới 2 button vừa click. Huynh giúp đệ với nhé.
Cảm ơn nhiều!
Chào bạn, bạn có thể cho mình coi đoạn code bạn thêm event cho các button không? Có lẽ trong bài bạn sử dụng mảng button, để thêm sự kiện click cho các button thì bạn sử dụng vòng lặp như sau:
Button[] btnPieces = new Button[10];
for (int i = 0; i < btnPieces.Length; i++)
{
btnPieces[i] = new Button();
btnPieces[i].Name = "Button" + i;
btnPieces[i].Text = btnPieces[i].Name;
flowLayoutPanel1.Controls.Add(btnPieces[i]);
}
foreach (Button btn in btnPieces)
{
btn.Click += Button_Click;
}
Sự kiện Button_Click ví dụ như sau:
private void Button_Click(object sender, EventArgs e)
{
MessageBox.Show(((Button)sender).Name);
}
Yang oi giúp mình làm bài này được không vậy? mốt(2/12) mình kiểm tra rồi 😦
bài 1:Viết chương trình đếm số lần xuất hiện các ký tự trong 1 chuỗi.
bài 2:viết chương trình đếm số từ trong 1 chuỗi.
Nếu bạn làm được gửi thẳng zo mail cho mình nha
thank ban nhìu
Rất tiếc là mình không thể giúp bạn những bài tập này, đây là những bài tập rất căn bản mà có lẽ bạn nên tự mình làm hoặc có thể trao đổi cùng những bạn khác để làm. Ở đây mình cũng gợi ý một chút là bạn chỉ cần dùng vòng lặp là làm được cho cả 2 bài
em muốn hỏi YinYang’s là!! có thể lấy nhiều ảnh ngẫu nhiên trong một folder hok? và mỗi ảnh được lập lại hai lần trong form. Cách làm như thế nào, anh có thể hướng dẫn được hok ạ!!
Về câu hỏi đầu tiên của bạn thì đáp án là được, bạn chỉ cần đặt tên file ảnh kèm theo chỉ số thứ tự rồi dùng random. việc lặp lại ảnh mấy lần trong form cũng chẳng có gì khác nhau, câu hỏi thứ 2 này mình chưa hiểu rõ lắm, bạn có thể giải thích kĩ hơn không?
Yinyang ơi giúp em phân tích đề tài này nha;
viết chương trình thực hiện các phép tính số học trên những số nguyên lớn (cộng ,trừ .nhân ,chia(lấy nguyên và lấy dư)).mỗi số nguyên nên được lưu bằng 1 danh sách móc nối đôi.chương trình phải cho phép người dùng chọn nhập vào các số nguyên lớn bằng bàn phím hoặc qua file đầu vào .chương trình phải hỗ trợ in kết quả ra màn hình và ra file .thuật toán nhân và chia không nên được thực hiện bằng cách lặp lại các phép toán cộng hoặc trừ).
lưu ý;chương trình bắt buộc phải sử dụng giao diện đồ họa,được phép sử dụng các thư viện để xây dựng giao diện cho chương trình.hết
xin hỏi:
1.phải sử dụng giao diện đồ họa thì nên cài đặt trên c++,hay C# thì dễ hơn.
2.bắt buộc phải sử dụng DSLK hả(DSLK Đơn ,kép hay vòng).sử dụng mảng hoặc stack có được ko?
3.các thuật toán để tính những số nguyên lớn là như thế nào vậy.
em có làm 1 cái demo math bằng c# giống như trên mạng.nhưng chỉ đúng với những số nguyên nhỏ thôi.nhập vào 1 dãy các số lớn thì chương trình báo lỗi số quá lớn.
Yinyang có thể hướng đẫn cho em được ko(làm 1 cái DEMO chỉ 1 phép toán cũng được rồi)hoặc cho em những từ khóa có liên quan để em search)
cảm ơn.
Chào bạn những vấn đề này bạn có thể tham gia diễn đàn như congdongcviet.com để tham gia thảo luận sẽ tốt hơn. Mình cũng trả lời các câu hỏi của bạn nhưng sẽ không có thời gian hướng dẫn cho bạn được. Các bài giải về vấn đề này trên mạng cũng có khá nhiều, bạn có thể search và tham khảo.
1. Còn tùy thuộc bạn dùng phiên bản C++ nào, nếu bạn chọn các ngôn ngữ trong bộ Visual Studio như VC++, VC# thì sẽ dễ dàng hơn nhiều so với việc phải sử dụng các thư viện đồ họa trong Ansi C++.
2. Đề bài của bạn yêu cầu làm bằng double linked list (liên kết đôi) để linh hoạt hơn trong việc truy xuất phần tử (ko ai dùng liên kết vòng cả). Sử dụng mảng thì ko thể thay đổi số phần tử được, stack thì chỉ nên áp dụng trong những trường hợp đặc biệt, trong trường hợp này thì nó còn kém linh hoạt hơn liên kết đơn.
3. Để tính toán trên các số nguyên lớn bạn lặp qua từng phần tử trong danh sách liên kết (mỗi phần tử là 1 chữ số), rồi thực hiện tương tự như cách làm tính hồi học tiểu học, dĩ nhiên khi viết bằng code thì sẽ phức tạp hơn so với làm tính.
Bạn có thể tìm kiếm với từ khóa sau “big number operation algorithm”
cam on yinyang nha.
Blog của bạn rất hay!
Ban Yinyang có facebook ko? Mình muốn add bạn vào làm friends, thỉnh thoảng mình hỏi 1 chút!
Chào bạn, tài khoản trên facebook của mình là Yin Yang
Mình đã khắc phục được lỗi này. Bạn có thể liên hệ mình qua nick: lexuanthach
Cảm ơn sư huynh nhiều nha.
Nha có sư huynh,em mới hứng thú với mấy môn lập trình đấy.
Chúc gặp nhiều điều an vui, hạnh phúc !
Bạn có thể giúp mình code của game đánh bài đc ko. MÌnh đang làm đến việc xác định vị trí người chơi trên bàn đấu mà chưa nghĩ ra cách nào cả…..Mình đang viết = c#
Bạn có thể nói cụ thể như loại bài gì, cách chơi. Hoặc bạn thử lên codeproject hoặc google tìm có lẽ sẽ tìm được thứ bạn cần.
Loại bài mình đang viết là Đánh bài Đồng Chất. Và dơn giản nv của mình bây h là xác dịnh vị trí 4 người người chơi. Để khi rút bài thì quân bài tự động bay đến chỗ người chơi theo lượt. Bạn có thể gợi ý cho mình 1 chút về cách làm và nếu có Code thì càng tốt. Thank nhiu !!!
Chưa hiểu rõ ý của bạn nhưng để xác định vị trí thì bạn chỉ cần lưu vào biến hoặc hằng thôi. Còn để đổi lượt thì chỉ đơn giản là dùng 1 biến đếm tăng từ 1->4 chẳng hạn, rồi từ 4->1.
a oi, a co the day cho e ve C,C++,C# hok a?. E rat muon’ hoc, nhung k co ai day e ca, khi e mun hoi thi k co ai co the tl cho e. hoc o truong thi chan lam a oi huhu, thay thi cu day, k wtam toi hs, ban be thi k co khong khj hoc. Vay lam sao e co the hoc dc huhu. mong a jup do e !. mong a tl e !!!!!!!!!!!!!
Bạn có thể tham gia các diễn đàn chuyên về C/C++/C# như vậy sẽ tốt hơn
àh cho mình hỏi nếu lấy dữ liệu từ database qua câu lệnh SQL. Nhưng mình muốn lấy số lượng dòng quy định vd là 50 dòng. Mình thấy bên web dùng theo dạng list[] . Mình vẫn chưa bik cách hoạt động của dạng list này Nếu đc bạn cho mình vd send wa mail mình cũng đc willclinton1989@gmail.com. Thanks bạn ^^
Nếu đúng như là list[] mà bạn nói thì đó chỉ có thể là mảng bạn add thủ công vào sau ghi lấy dữ liệu. Có lẽ đó là List, đây là 1 generic collection, thường thì tài liệu .Net nào cũng có nói tới, bạn chỉ cần lên search là sẽ ra thôi.
ghé vào xem “nhà thơ của lòng e”(^.^)làm ăn thế nào viết toàn cái gì người ta không hiểu gì hết, haizzzz………..chúc thành công nhé…………………………………À quên, ghé xem cái your diary để xem con làm thơ ko, mà nó đòi pass,hic hic……..
ko dám, coi chừng có người ghen đó :))
YinYang ơi có cách nào hiển thị hai Field trên ComboBox không?
Bạn chỉ cần vào google gõ Multi Column Combobox là sẽ có giải đáp
Cám ơn Yin Yang nhiều lắm
Quite right! I like your idea. I suggest to take out for the general discussion.
___
I disposition a postcard it far in my site
Chào Y2!
E đang làm bài tập về thuật toán tô màu..
Code thì đã xong!
Nhưng cho e hỏi cách để hiển thị đồ thị trên winform, với đầu vào là n đỉnh, và ma trận kề của đồ thị.
Cám ơn a trước nha!
Bạn có thể xem thử chương trình sau: Y2 Visual Graph
Anh cho em hỏi về giải thuật 1 game swap balls
Ví dụ : có 3 bi xanh đặt cách 3 bi đỏ 1 ô trống. Làm thế nào để 2 loại bi đổi chỗ cho nhau vẫn qua 1 ô trống với ít bước di chuyển nhất. Các viên bi có thể di chuyển sang ô trống hoặc nhảy qua 1 ô để đến ô trống. Cảm ơn anh nhiều
Bài toán của bạn có thể được biểu diễn dưới dạng 1 dãy số như:
1110222
Với các nước đi có thể thực hiện là thay đổi vị trí của các số đứng cạnh nhau. Sử dụng thuật toán A* và 1 hàm heuristic đơn giản bạn có thể tìm được nước đi ngắn nhất cho bài toán.
Bạn có thể tham khảo bài toán tương tự n-puzzle
Cảm ơn anh nhiều lắm.
chào anh,
Em có 1 bài tập programming hiện tại em ko biết làm. Em mong các anh chị có thể giúp đỡ em! em ko có bài này để nộp chắc em rớt nữa quá.
Nội dung của bài giong nhu o bài post này :https://yinyangit.wordpress.com/2011/04/16/algorithm-%E2%80%93-minh-h%E1%BB%8Da-tim-d%C6%B0%E1%BB%9Dng-di-ng%E1%BA%AFn-nh%E1%BA%A5t-v%E1%BB%9Bi-breadth-first-search-trong-c/
Đầu tiên mình phải mở file graph ra, sau do chuong trinh sẽ vẽ file này thành TREE. Rồi từ tree mình sẽ chọn 1 trong 3 cach SEARCH (depth-first, breadth-first hoac beam search) de tim duong dẫn nhanh nhất. Điểm bắt đầu và kết thúc là do user chọn.
Mong thành khẩn mong các anh chị giúp em vượt qua bài này với 😦
Cám ơn mọi người.!!!!
Cảm ơn anh Yin Yang!!!!
Vấn đề của bạn có thể tham khảo một số ví dụ về DFS và BFS, còn phần file graph bạn vẫn chưa nói rõ nó được định dạng hoặc cấu trúc thế nào. Bạn có thể tìm chương trình minh họa Y2 Visual Graph trên blog này để tham khảo cách lưu graph.
Thân!
Em da tham khao thu Y2 visual graph of anh roi. Bai of em cung tuong tu nhu vay! nhung fai tim kiem duong ngan nhat bang 3 cach khac nhau!! DFS , BFS, va Beam search.
File graph of em dinh dang la .txt va dai khai giong nhu the nay:
sa 3
sb 7
sd 4
ac 2
ad 1
bd 2
be 4
dg 13
eg 3
Dua nao file nay, minh se chon From va To (do user tuy chon).
Chưa thấy câu hỏi của bạn là gì, bạn phải nêu rõ khúc mắc, mình sẽ giúp đỡ trong khả năng. Tuy nhiên không thể giúp bạn làm bài được.
YinYang ơi mình đang muốn viết một hàm như sau:
Public Shared Sub Xuat(ByVal bang As DataTable, ByVal khung As FlowLayoutPanel, ByVal loai_the_hien As String, ByVal cot_the_hien As String)
Hàm này dùng xuất các dòng của một bảng “bang” vào một FlowLayoutPanel “khung”
Trong đó tham số “cot_the_hien” là chuỗi chứa tên loại Control xuất lên khung, ví dụ: TextBox, CheckBox, Button,…
Khi chạy hàm sẽ xuất lên khung các dòng của bang với loại control tương ứng với tham số “loai_the_hien”
Ví dụ:
Xuat(bang, khung, “Label”,”Ten”)
—> Xuất lên khung các label tương ứng từng dòng của bảng
Xuat(bang, khung, “Button”,”Ten”)
—> Xuất lên khung các Button tương ứng từng dòng của bảng
Xuat(bang, khung, “RadioButton”,”Ten”)
—> Xuất lên khung các radiobutton tương ứng từng dòng của bảng
Mình viết như sau:
Public Shared Sub Xuat(ByVal bang As DataTable, ByVal khung As FlowLayoutPanel, ByVal loai_the_hien As String, ByVal cot_the_hien As String)
For Each dong In bang.Rows
‘Ví dụ: ở đây là tạo danh sách các Label
Dim th As New Label ‘vấn đề: thay vì tạo kiểu Label ta có thể tạo kiêu theo tham số “‘oai_the_hien’ được không?
th.Text = dong(“Ten”)
khung.Controls.Add(th)
th.Tag = dong
Next
End Sub
Chưa hiểu rõ câu hỏi của bạn là gì? “loai_the_hien” ở đây là gì? lấy từ đâu?
Như vầy: giả sử mình có CSDL QuanLyHocSinh.mdb trong CSDL này có bảng HOC_SINH(Ho_ten, Ngay_sinh, Gioi_tinh,…).
Mình dùng OleDbDataAdapter để đọc và Fill bảng HOC_SINH vào một DataTable tên là bangHocSinh
=> Bây giờ mình muốn kết xuất bangHocSinh vào một Control nào đó và hiển thị lên màn hình cho người sử dụng xem. Ví dụ: kết xuất vào DataGridView, ListView, TreeView,…
=> Vấn đề: mình muốn kết xuất bangHocSinh ra các Control như Label, Button, Checkbox… các Control này sẽ nằm trong 1 FlowLayoutPanel, tương ứng với mỗi dòng trong bangHocSinh sẽ là một Label hoặc Button, hoặc một Control nào đó.
=> Để tiện dụng mình muốn viết hàm “Xuat” như trên, trong đó Loai_the_hien là tên của loại Control mình muốn dùng để xuất ra. Ví dụ : muốn xuất ra mỗi học sinh là một Button thì mình dùng tham số “Button”
Cụ thể hơn, bạn có thể vui lòng download bài làm của mình để xem.
http://www.mediafire.com/?nf11aork1daed1n
Cám ơn bạn trước nha!
Tất nhiên mình hiểu cách bạn muốn load table lên FlowLayoutPanel, nhưng trong comment trước bạn dùng cot_the_hien và loai_the_hien không rõ ràng. Vậy bạn có thể nêu vướng mắc của bạn ở chỗ nào, mình có thể giúp nếu được.
Chào bạn YinYang, mình muốn hỏi về cách lập trình để chụp hình 1 trang web. Giả sử trang web cần chụp lại là yinyangit.wordpress.com. Làm thế nào để wrap (bọc nguyên trang web) và chụp lại, sao đó để người sử dụng download về. (Thay vì nhấn nút PrintScreen của windows để chụp hình, mình dùng chức năng này trên web, để trang web tự động xuất ra image luôn). Ở đây trang web xài ngôn ngữ C#, asp.net và không sử dụng Flash hay silverlight.
Ý 2:
Mình muốn viết thử 1 ứng dụng chụp hình chạy được trên tablet. Vì tablet chạy nhiều nền tảng nên không dùng Flash. Trên tablet, nghe người ta dùng nhiều đến PhoneGap, YinYang có tìm hiểu chưa? Vì trên tablet, trình duyệt bị hạn chế sử dụng thiết bị phần cứng. Vấn đề đặt ra là làm sao viết được ứng dụng chạy được trên nhiều hệ điều hành iOS, Android, Symbian….
Cảm ơn bạn trước.
Vấn đề chụp hình trang Web của bạn được giải đáp tại đây: C# – Chụp ảnh toàn bộ trang Web (Webpage capture)
Ah, bổ sung, mình có thử viết chương trình bằng eclipse, sử dụng PhoneGap, nó gần tương tự như lập trình web. có 1 điều là trình giả lập Android không kết nối được với Camera.
Ah, cho mình hỏi xíu về 1 vấn đề: Định hướng của YinYang là hướng dẫn mọi người về lập trình C#, mức cơ bản đến trung bình. Nhưng mình thấy tốc độ thay đổi và ra công nghệ mới ngày càng nhiều. Bạn có ý định viết nhiều bài về các công nghệ khác không?
Lĩnh vực multimedia hình như bạn chưa từng giới thiệu qua. Hi vọng trong tương lai, bạn sẽ giới thiệu về cách Flash hoặc silverligtht (vì đó là 1 mảng công nghệ mà sinh viên cần phải nắm để sau này làm việc).
Về lập trình iPhone, tablet thì mình ko rành cũng ko có điều kiện học. Nếu có thời gian học mình sẽ giới thiệu các chủ đề mà bạn nói. Tuy nhiên mình học những thứ mình thấy cần chứ không phải học nhiều thứ để viết. Vấn đề duy nhất mà mình gặp phải có lẽ là điều kiện vật chất và thiết bị nên bị hạn chế nhiều thứ. Cảm ơn bạn đã quan tâm!
Cảm ơn YinYang nhiều. Đi ra làm, ngta đòi hỏi kiến thức rộng. Mình thì cũng chỉ học lại thôi.
Mình găp 1 vấn đề bên WPF. Khi tạo 1 checkbox là RememberMe, mình dùng DataBinding mode là TwoWay, thì lần đầu khi load Form, checkbox chưa được chọn. Khi mình click vào, thì dấu checkbox vẫn không được chọn (???). Từ lần này trở đi thì mình click, nó đều chọn chính xác.
Trường hợp này thì mình ko rõ, bạn có thể đưa một đoạn code ngắn hoặc một demo nhỏ để mình xem không?
Chào anh, trong C#, em có vẽ một số hình 2D (chu nhat, tron, …), em cần redraw liên tục.. nhưng mỗi khi redraw là màn hình cứ chớp nháy, làm sao để khắc phục được ạ
Bạn có thể thêm đoạn mã sau vào constructor của form hoặc control,..:
Chào YinYang tớ đang làm một chương trình về máy tính cầm tay như của windows. Tớ có một thắc mắc thế này mà chưa biết xử lí sao. Trong chương trình calculator khi phát sinh các phép toán không hợp lệ như chia cho 0 hay là lấy căn của số nhỏ hơn 0 … thì chương trình sẽ hiện ra thông báo về lỗi. Lúc này ngoại trừ hai nút CE và C bấm vào button nào cũng không có tác dụng. T cũng muốn làm cho chương trình của tớ như vậy mà vẫn chưa nghĩ ra cách làm. Bạn có ý tưởng giúp mình không?
Nếu bạn bắt được các lỗi đó thì chỉ cần disable/enable các button cần thiết thôi. Để làm đơn giản thì còn tùy thuộc vào cách bạn thiết kế giao diện ra sao nữa. Bạn có thể nêu rõ hơn vấn đề của bạn nếu như vẫn chưa giải quyết được.
Chào Yin Yang, hiện tại mình đang làm 1 cái đồ án nhỏ về vẽ đồ thị bằng c#. Mình đã tham khảo project của cậu, mình muốn vẽ cái ma trận (customcontrol) ở trên form. Mỗi lần mình vẽ đỉnh hay xóa đỉnh thì ma trận đó sẽ vẽ theo. Mình phải làm sao để mỗi lần mình vẽ nó sẽ cập nhật bên ma trận. Mong cậu giúp đỡ mình. Cám ơn cậu.
Bạn có thể bắt các sự kiện chuột trên Form hoặc Control và thêm vào ma trận. Nếu bạn vẽ được thì không có lý do gì không gọi được phương thức thêm vào ma trận.
Cám ơn câu trả lời của bạn,mình vẫn chưa vẽ được ma trận. Ý mình hỏi là làm sao truyền số đỉnh khi mình thêm hay xóa đỉnh để ma trận tự cập nhật và vẽ. Cái ma trận control của mình được gắn ở trên form ,còn của cậu cái ma trận sẽ được gọi khi vẽ đỉnh đồ thị. Cám ơn cậu.
Bạn nói thế thì mình không biết làm sao để giúp. Bởi vì tất cả những vấn đề này thuộc lập trình cơ bản rồi nên phải tùy trường hợp cụ thể mới có thể xem cách giải quyết thế nào là tốt. Bạn có thể đưa 1 phần code lên đây ko?
Bạn Yang Yin ơi! bạn có thể giúp mình với được không. Mới nhận được đồ án tại chức: Viết chương trình mô phỏng và làm việc với cây nhị phân. dùng ngôn ngữ C++. Bạn giúp mình với nhé. Giờ đang đi làm về quản trị mạng nên mấy cái lập trình này mình hoàn toàn mù tịt. Cám ơn bạn nhé
Những trường hợp thế này e rằng mình không thể giúp được. Bạn thông cảm.