Вот мой код:
using System;
using System.Threading;
using System.Threading.Tasks;
using Gtk;
public partial class MainWindow : Gtk.Window
{
async Task Do()
{
var i = textview.Buffer.GetIterAtLine(0);
await Task.Delay(1000);
textview.Buffer.Insert(ref i, "Hello, world!\n");
}
async void Main()
{
await Do();
await Do();
}
public MainWindow() : base(Gtk.WindowType.Toplevel)
{
Build();
Main();
}
protected void OnPauseButtonClicked(object sender, EventArgs e)
{
Thread.Sleep(5000);
}
}
То, что я хотел:
Если я нажму кнопку перед первым «Привет, мир!»Появится два «Hello, world» с интервалом в одну секунду после 5 секунд.
Но, что на самом деле произошло:
Я нажимал кнопку перед первым «Hello, world!»и прошло 5 секунд. Одновременно появились два «Привет, мир».
Какое решение для этого?